用于验证linux上make版本的Shell脚本

时间:2017-02-28 03:16:02

标签: linux bash shell

我正在尝试编写这个shell脚本来验证安装在linux上的make版本,但无法使其正常工作。如果有人能指出我在这里缺少的东西,那就太好了。

OUTPUT="$(make --version | head -1)"
echo "${OUTPUT}" | grep -o '[0-9]*[\.][0-9]*'

OP="$(echo \"${OUTPUT}\" | grep -o '[0-9]*[\.][0-9]*')" 
echo "${OP}"

if [ $OP -ge 3.82 ]; then
  echo "make version is greater than or equal to 3.82"
else:
  echo "make version is not greater than or equal to 3.82"
  exit 1
fi

2 个答案:

答案 0 :(得分:1)

您只能使用test(又名[)来比较字符串和整数,而不是像这样的版本。这里有两个问题可以向您展示比较版本的方法:

答案 1 :(得分:0)

不要使用char":"在关键词之后:

if [ $OP -ge 3.82 ]; then
  echo "make version is greater than or equal to 3.82"
else
  echo "make version is not greater than or equal to 3.82"
  exit 1
fi