用python和shell检测centos版本

来源:互联网 发布:dota2画质优化 编辑:程序博客网 时间:2024/06/06 06:32

python脚本check_os.py代码如下:

import reimport osimport sys def check_os():    catout  = os.popen('cat /etc/redhat-release').readlines()[0].strip()    if catout.find('CentOS') == 0 or catout.find('Red Hat') == 0:        _com= re.compile(r'[\S\s]*(\d+)\.(\d+)[\S\s]*')        _m  = _com.match(catout)        if _m:             if int(_m.group(1)) < 6:                return 1            else:                return 0        else:            return 0    else:        return 0if __name__ == '__main__':    result = check_os()    sys.exit(result)

shell脚本check_os.sh代码如下:

#!/bin/bashfunction check_os(){    if grep -q 'CentOS' /etc/redhat-release || grep -q 'Red Hat' /etc/redhat-release    then        outStr=$(cat /etc/redhat-release)        if [[ ${outStr} =~ .*([0-9]+)\.([0-9]+).* ]]        then            versionMaster=${BASH_REMATCH[1]}            if [[ ${versionMaster} -lt 6 ]]            then                return 1            else                return 0            fi          else            return 0        fi      else        return 0    fi  }

测试shell脚本test.sh如下:

#!/bin/bashsource ./check_os.sh$(check_os)echo $?$(python check_os.py)echo $?

我的centos版本为6.5时,执行结果如下:

[root@test ~]# cat /etc/redhat-release CentOS release 6.5 (Final)[root@test ~]# sh test.sh 00

当修改centos主版本小于6时,执行结果如下:

[root@test ~]# cat /etc/redhat-release CentOS release 5.5 (Final)[root@test ~]# sh test.sh 11
0 0
原创粉丝点击