Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Korn shell脚本中检查一系列RedHat版本_Shell_Scripting_Redhat_Ksh - Fatal编程技术网

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

在Korn shell脚本中检查一系列RedHat版本,shell,scripting,redhat,ksh,Shell,Scripting,Redhat,Ksh,我有一个Korn shell脚本,下面的代码可以工作: if [ $LINUXVER = 7.2 ] || [ $LINUXVER = 7.3 ]; then 但是我想修改代码,使其范围涵盖7.2,7.3,7.4,等等。我知道我需要使用类似[0-9]的东西,我已经尝试了很多方法,但都没有效果。此脚本在多个远程服务器上运行,而不是在脚本所在的本地服务器上运行 任何帮助都将不胜感激。如果您使用的是相对较新的ksh(ksh93或兼容的克隆),则可以使用双括号表示数学表达式。比如说 testver()

我有一个Korn shell脚本,下面的代码可以工作:

if [ $LINUXVER = 7.2 ] || [ $LINUXVER = 7.3 ]; then
但是我想修改代码,使其范围涵盖
7.2
7.3
7.4
,等等。我知道我需要使用类似
[0-9]
的东西,我已经尝试了很多方法,但都没有效果。此脚本在多个远程服务器上运行,而不是在脚本所在的本地服务器上运行


任何帮助都将不胜感激。

如果您使用的是相对较新的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

您使用的是哪个版本的ksh?使用“print${.sh.version}”。
Unsupported version 6.9
Supported version 7.2
Unsupported version 8.0