我在 Mac、Windows 和 Ubuntu 上都有 Perl。如何在脚本内部区分它们?
编辑:有人问我在干什么。这是一个脚本,是我们跨平台构建系统的一部分。该脚本递归遍历目录并确定要构建哪些文件。某些文件是特定于某些平台的,因此,在 Linux 上,我不想构建以 _win.cpp 结尾的文件等。
我在 Mac、Windows 和 Ubuntu 上都有 Perl。如何在脚本内部区分它们?
编辑:有人问我在干什么。这是一个脚本,是我们跨平台构建系统的一部分。该脚本递归遍历目录并确定要构建哪些文件。某些文件是特定于某些平台的,因此,在 Linux 上,我不想构建以 _win.cpp 结尾的文件等。
使用 Config 模块可能是一个好选择。另外一种可能是从 /etc/*release 文件中获取信息。
例如:
cat /etc/os-release
NAME="UBUNTU"
VERSION="12.0.2 LTS, Precise Pangolin"
ID="UBUNTU"
ID_LIKE=debian
PRETTY_NAME="Ubuntu precise (12.0.2 LTS)"
VERSION_ID="12.04"
/etc/os-release
的文件,并且你事先也不知道你在哪个平台上。 - Totomsinfo32
或将o / p重定向到文件
msinfo32 /nfo C:\ TEMP \ windows_info.nfo
- GC 13my ( $osvername, $major, $minor, $build, $id ) = Win32::GetOSVersion();
print "\n\n操作系统版本 - $osvername\n主版本号 - $major\n次版本号 - $minor\n构建版本号 - $build\nID - $id \n\n";
- GC 13