shell脚本 里如何得到linux系统的版本号

shell脚本 里如何得到linux系统的版本号

其实我是想得到linux的版本号 如想得到 是redhat 5.1  或,sles10.1等.
如是redhat系统,就
[root@dtx162 jiangt]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.1 (Tikanga)
我有什么办法 提出5.1 这三个字符, 除了用awk '{print $7}'

if [ -f /etc/redhat-release ]
then
    Version=`cat /etc/redhat-release|awk '{print "Redhat " $7}'`  
fi
这样感觉好像有问题

用正则表达式,匹配 release 后面的第一个 \S+
搞个perl的

#!/usr/bin/perl

use strict;
use warnings;


my $file = `cat /etc/redhat-release`;
$file =~ /(\d\.\d)/;

my $version = $1;
print "$1\n";


QUOTE:
原帖由 huifeideluotuo 于 2008-12-30 10:44 发表
搞个perl的

#!/usr/bin/perl

use strict;
use warnings;


my $file = `cat /etc/redhat-release`;
$file =~ /(\d\.\d)/;

my $version = $1;
print "$1\n";

不是每个人系统上都有 /etc/redhat-release 的。


QUOTE:
原帖由 MMMIX 于 2008-12-30 15:59 发表

不是每个人系统上都有 /etc/redhat-release 的。

是的,我现在身边的平台只有四种,win, aix, suse,redhat, 所以只需要判断这四个平台就行了


QUOTE:
原帖由 huanghaojie 于 2008-12-30 16:14 发表


是的,我现在身边的平台只有四种,win, aix, suse,redhat, 所以只需要判断这四个平台就行了

你所以的太乐观了


QUOTE:
原帖由 huifeideluotuo 于 2008-12-30 10:44 发表
搞个perl的

#!/usr/bin/perl

use strict;
use warnings;


my $file = `cat /etc/redhat-release`;
$file =~ /(\d\.\d)/;

my $version = $1;
print "$1\n";

cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.1 (Tikanga)

有个问题 , 你的匹配出来是 “5.1”, 如果我想取5.1 (Tikanga)  ,怎么匹配呀,就是取release后面的部分。


QUOTE:
原帖由 huanghaojie 于 2008-12-30 16:28 发表

cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.1 (Tikanga)

有个问题 , 你的匹配出来是 “5.1”, 如果我想取5.1 (Tikanga)  ,怎么匹配呀,就是取release后面的部分。



[Copy to clipboard] [ - ]
CODE:
perl -e '$str="Red Hat Enterprise Linux Server release 5.1 (Tikanga)";print $1 if $str =~ /(\d.*)$/'



QUOTE:
原帖由 ynchnluiti 于 2008-12-30 16:33 发表

perl -e '$str="Red Hat Enterprise Linux Server release 5.1 (Tikanga)";print $1 if $str =~ /(\d.*)$/'

牛人一个
ynchnluiti (andy)  
怎么只有1700多贴,就有6000多分,这个难道也可以刷积分,呵呵


QUOTE:
原帖由 huanghaojie 于 2008-12-30 16:42 发表

牛人一个
ynchnluiti (andy)  
怎么只有1700多贴,就有6000多分,这个难道也可以刷积分,呵呵

积分看看http://bbs.chinaunix.net/ph/25_200812.html就明白了。

不过学到东西才是最重要的!