
如何將 的輸出放入head -15 textfile.txt
變數以在以下命令$X
中使用它:if
if $X = 'disabled' then
?
答案1
x="$(head -15 testfile.txt)"
if [ "$x" = disabled ]
then
echo "We are disabled"
fi
通常,任何時候您想要將命令的輸出捕獲到 shell 變數中,請使用以下形式: variable="$(command args ...)"
。該variable=
部分是作業。這$(...)
部分是命令替換。
另請注意,shell 不執行if
表單中的語句if $X = 'disabled'
。 shell 期望後面有一個命令,if
並且 shell 將評估該命令的回傳碼。在上面的例子中,我運行的test
命令可以寫為test ...
或[ ... ]
。
許多人認為最佳實踐是在 shell 腳本中使用小寫變數。這是因為系統定義的變數是大寫的,您不想意外覆蓋它。另一方面,沒有呼叫系統變量,X
因此這不是真正的問題。