在Korn shell脚本中检查一系列RedHat版本

时间:2017-07-11 23:41:31

标签: shell scripting redhat ksh

我有一个 Korn shell 脚本,以下代码可以运行:

if [ $LINUXVER = 7.2 ] || [ $LINUXVER = 7.3 ]; then

但我想修改代码以制作涵盖7.27.37.4等的范围。我知道我需要使用[0-9]之类的内容,我尝试了很多东西,但没有任何作用。此脚本在多个远程服务器上运行,而不是脚本所在的本地服务器。

任何帮助都将不胜感激。

1 个答案:

答案 0 :(得分:0)

如果您使用的是相对较新的ksh(ksh93或兼容克隆),则可以使用双括号表示数学表达式。例如

testver() {
   if (( LINUXVER <= 7.1 || LINUXVER >= 7.4 )); then
      print "Unsupported version $LINUXVER"
   else
      print "Supported version $LINUXVER"
   fi
}

LINUXVER=6.9
testver
LINUXVER=7.2
testver
LINUXVER=8.0
testver

此脚本的输出是

Unsupported version 6.9
Supported version 7.2
Unsupported version 8.0