检测服务器上python版本脚本

检测服务器上python版本是否在2.7范围内,不在2.7范围内则一键安装替换python版本为2.7.4,注意python版本不同使用查看版本的方式也不同

2.4的可以使用python --version查看,2.7需要使用python -V查看

推荐python -V

脚本内容如下:

#!/bin/bash
# written by wzq
# date:2017-06-20 
touch /mapbar/src/python_version.txt
python -V &> /mapbar/src/python_version.txt
ver=`awk -F '.' 'OFS="." {print $2}' /mapbar/src/python_version.txt`
#ver1=$(echo "$ver < 7" | bc)    #启用bc判断小数
#ver2=$(echo "$ver >= 8" | bc)

#if [ $ver1 -eq 1 -o $ver1 -eq 1 ];
#       then 
#               echo you shuld update
#fi
if [ $(echo "$ver < 7"|bc) -eq 1 -o $(echo "$ver >= 8"|bc) -eq 1 ];
then
        echo "###判断python包是否存在###"
        if [ -f /mapbar/src/Python-2.7.4.tgz ]
        then
                tar -zxvf /mapbar/src/Python-2.7.4.tgz -C /mapbar/src/
                break
        else
                wget -P /mapbar/src/ https://www.python.org/ftp/python/2.7.4/Python-2.7.4.tgz
                tar -zxvf /mapbar/src/Python-2.7.4.tgz -C /mapbar/src/
                break
        fi
        if [ -d /mapbar/app/python ];
        then
                mv /mapbar/app/python /mapbar/app/python.bak
                break
        fi

##########开始安装##########
        echo "###开始安装python###"
        cd /mapbar/src/Python-2.7.4
        ./configure --prefix=/mapbar/app/python
        make && make install
#       ?=`echo $?`
        if [ `echo $?` -eq 0 ];
        then
                cd /mapbar/app/python/bin/
                cp python2.7 /usr/bin/
        else
                rm -rf /mapbar/app/python
                exit
        fi
########替换python版本#########
        cd /usr/bin/
        mv python python.bak
        cp python2.7 python
        echo "###运行python,请按Ctrl+d退出###"
        python
#       python >/dev/null 2>&1 
#       quit ()
########部署完成###############
else
        exit
fi
echo "###python安装替换完成###" 


上述虽然改完了版本,但是如果你是centos5的系统,那么yum是无法使用的,centos5的自带python是2.4版本的,需要更改到以前的python版本

使用whereis python   可以查看到/usr/bin下的所有python版本,到/usr/bin/yum下修改指定回原来版本,如#!/usr/bin/python2.4

centos6的系统默认python版本是2.6,改法和centos5一样。

centos7的系统默认版本是python2.7,不需要再往高处升级。

如果不修改/usr/bin/yum ,则yum无法使用

如果不修改/usr/bin/yum-updatest  会出现如下错误

 File "/usr/sbin/yum-updatesd", line 35, in
    import dbus
ImportError: No module named dbus


你可能感兴趣的:(小脚本)