Bash如何從
如何從uname -r
匹配“4.4”?
虛擬碼
[ `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