如何使用 case 语句进行操作系统级别版本控制

如何使用 case 语句进行操作系统级别版本控制

我正在尝试编写一个基本上根据操作系统版本执行的脚本。这就是我到目前为止所做的。

#!/bin/bash
publicyum="yum.oracle.com"
osrelease0=`lsb_release -r | awk {'print $2'}`
osrelease1=`lsb_release -r | awk {'print $2'}`
arch=`uname -p`

wget -q --spider http://$publicyum

if [ $? -eq 0 ]; then

case $osrelease0 in
                '5')  ;;
                '5.1')  ;;
                '5.2')  ;;
                '5.3')  ;;
                '5.4')  ;;
                '5.5')  ;;
                '5.6')  ;;
                '5.7')  ;;
                '5.8')  ;;
                '5.9')  ;;
                '5.10)  ;;
                '5.11)  ;;
esac

if [ "$osrelease0" = "$osrelease0" ]; then
                echo "Success01"; uname -nm
        else
                echo "Failure01"
        fi

case $osrelease0 in
                '6')  ;;
                '6.1')  ;;
                '6.2')  ;;
                '6.3')  ;;
                '6.4')  ;;
                '6.5')  ;;
                '6.6')  ;;
                '6.7')  ;;
                '6.8')  ;;
                '6.9')  ;;
                *) echo "Non-Supported OS Version...Aborting!!!"
                exit 1;;
esac

if [ "$osrelease0" = "$osrelease0" ]; then
                echo "Success02"; uname -nm
        else
                echo "Failure02"
        fi

else
    echo "Internet is not accessible, Aborting!!"
fi

以下是我正在尝试实现的案例:-

  • 该脚本应根据操作系统版本执行,脚本应查找脚本中硬编码的特定版本,例如 rhel 5-5.11 和 rhel 6-6.11,并应执行某些命令

  • 一旦脚本到达 if else 循环,它应该寻找特定的 arch x86_64/i686 并执行命令

提前致谢!!

相关内容