在這個腳本中,我發現這個if
表達:Linux腳本中的if表達式中的-z值是什麼意思?
if [ -z $1 ]; then
echo "Usage: createpkg.sh <rev package>"
exit
else
CURRENT_VERSION=$1
fi
我的問題是,我找不到究竟意味着這個-z
值。
從回聲的內容我可以推斷(可能)$1
變量代表軟件版本。並且(可能)-z
是無效值。因此,如果我執行腳本而不傳遞給它,我將打包的軟件版本將打印出執行腳本的正確過程。
但我不確定-z
值的真正含義。
作爲一個方面說明,你應該把你的變量放在引號中。 '如果[-z「$ 1」];'。我不記得確切的原因(某人?),但不這樣做可能會在某些情況下導致不需要的行爲。 – aspyct
是的,@ Antoine_935,如果變量包含空格,將會出現問題。它會變成'如果[-z你好世界]''bash'將無法理解。 – fedorqui