如何在 unix 中比较变量和文本
How to compare variable to text in unix
我已经尝试了很多版本,但是 none 其中 work.I 想要比较变量 - 这里是 os 的版本,带有一些字符串。我想检查它是否大于指定版本。当我传递确切的名称时它很好,但是当我想用 .* 替换某些东西时它不起作用。
if [[ "$(uname -r)" == '3\.18.*' ]];
then echo bravo;
fi
如何让它发挥作用?提前致谢
我会在这里使用 case 语句:
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
我已经尝试了很多版本,但是 none 其中 work.I 想要比较变量 - 这里是 os 的版本,带有一些字符串。我想检查它是否大于指定版本。当我传递确切的名称时它很好,但是当我想用 .* 替换某些东西时它不起作用。
if [[ "$(uname -r)" == '3\.18.*' ]];
then echo bravo;
fi
如何让它发挥作用?提前致谢
我会在这里使用 case 语句:
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