我已经尝试了很多这个版本,但没有一个工作。我想比较变量 - 这里它将是os的版本,带有一些字符串。我想检查它是否大于指定的版本。当我传递确切的名字时它很好,但是当我想用。*替换它时它不起作用。
if [[ "$(uname -r)" == '3\.18.*' ]];
then echo bravo;
fi
如何让它发挥作用?提前谢谢
答案 0 :(得分:2)
我会在这里使用一个案例陈述:
case $(uname -r) in
(3.18.*) echo bravo;;
esac
如果要检查版本是否大于某个值,可以使用以下内容:
case $(uname -r) in
(3.1[89].*|3.[2-9]*|[4-9]*) echo bravo;;
(*) echo alpha;;
esac