我寫bash腳本是這樣的:什麼時候應該使用「」在shell測試和echo中引用一個值?
VF_ETH=$(command)
if [ -n "$VF_ETH" ] ; then
echo "ixgbevf eth: "$VF_ETH
fi
命令是Linux命令,我的問題是:
$VF_ETH
是得到VF_ETH
價值,爲什麼要使用""
引用它line2
在shell測試?- 如果我不使用
""
來引用它,會測試失敗嗎? - 如果使用
""
來引用一個值就是把它變成字符串,爲什麼不在line3
的echo中使用?
謝謝
謝謝,你的意思是命令的返回值(也就是$ VF_ETH)可能是幾個標記包含空格,比如「A B C」。那麼我們如果使用$ VF_ETH,它會是「A」? – batmancn
編號'$ VF_ETH'將會是'A B C',但是如果任何命令僅期望1個參數,並且如果您通過'A B C'而沒有雙引號,它們將被視爲3個參數。 – Utsav
爲了說明我的觀點,請嘗試創建一個名爲'A B C'的目錄。首先嚐試'mkdir A B C',然後嘗試'mkdir「A B C」'。你會明白不同之處。 – Utsav