【问题标题】:Checking a range of RedHat versions in Korn shell script在 Korn shell 脚本中检查一系列 RedHat 版本
【发布时间】:2017-12-16 04:46:04
【问题描述】:

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

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

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

任何帮助将不胜感激。

【问题讨论】:

  • 您使用的是哪个版本的 ksh?使用“打印 ${.sh.version}”。

标签: shell scripting redhat ksh


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-05
    • 2012-03-29
    • 1970-01-01
    • 1970-01-01
    • 2011-09-02
    • 1970-01-01
    相关资源
    最近更新 更多