use*_*873 3 unix linux perl solaris
我试图寻找一个如何做到这一点的答案,但我似乎无法找到一个.我知道要在perl中找到操作系统名称,你可以使用
$^O
Run Code Online (Sandbox Code Playgroud)
但是在Linux和Solaris中,无论您使用的操作系统版本如何,它都将返回Solaris或Linux.我希望它显示为Solaris10或Solaris11.有没有办法得到这个?我知道你是否进入
uname -r
Run Code Online (Sandbox Code Playgroud)
您可以获取版本号(例如Solaris中的5.10).有关如何做到这一点的任何想法?
谢谢=)
POSIXperl中的模块提供uname调用,因此:
use POSIX qw(uname);
my @uname = uname();
print $uname[0] . " " . $uname[2];
Run Code Online (Sandbox Code Playgroud)
这提供了来自正在运行的系统的信息,而不是来自执行构建的系统(Config结果来自的位置)的信息.
一般来说,这个信息是kernel发布,而不是产品的营销版本,所以例如,这不会告诉你它是否是一个Linux Mint系统,只是它是一个运行3.2.foo内核的Linux系统.
对于基于lsb的Linux系统,lsb_release命令可以在我拥有的linux系统上提供此信息:
natsu ~> lsb_release -r
Release: 12.04
natsu ~> lsb_release -i
Distributor ID: Ubuntu
Run Code Online (Sandbox Code Playgroud)
此信息位于/etc/lsb-release文件中.
对于Solaris,版本信息位于/etc/release文件中.第一行包含操作系统的名称,例如Solaris 10 9/10.此文件中有多行,它更像是一个自由格式的文本字段.
| 归档时间: |
|
| 查看次数: |
4272 次 |
| 最近记录: |