Bash

如何從uname -r匹配“4.4”?

  • June 13, 2016

虛擬碼

[ `uname -r` =~ ^4\.4.*$ ] && echo "yes"  

然而,這在所有情況下都不成功。該uname -r命令提供諸如4.6.0-040600-generic輸出之類的東西。

Bash 運算符[可能不是您想要的;但是,[[確實支持=~. 試試這個:

[[ $(uname -r) =~ ^4\.4 ]] && echo yes

根據您的案例(例如測試多個值),您可能會發現“case”語法更合適。

case $(uname -r) in
  4.4*) echo 4.4 based kernel found ;;
 3.10*) echo 3.10 based kernel found ;;
     *) echo unknown kernel found
esac

引用自:https://unix.stackexchange.com/questions/289502