我正在尝试编写这个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
答案 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