私はこのif
表現を見つけました:Linuxスクリプトのif式の-z値はどういう意味ですか?このスクリプトで
if [ -z $1 ]; then
echo "Usage: createpkg.sh <rev package>"
exit
else
CURRENT_VERSION=$1
fi
私の問題は、私は、まさにこの-z
値を意味するものを見つけることができないということです。
エコーの内容から、私は(おそらく)$1
変数がソートウェアバージョンを表すと推測できます。 (おそらく)-z
は空白値です。だから私はそれを渡さずにスクリプトを実行する場合、私はそれをスクリプトを実行する正しい手順を私に印刷するソフトウェアのバージョンを印刷します。
しかし、-z
値の本当の意味についてはわかりません。 man test
から
副題として、変数を引用符で囲むことをお勧めします。 'if [-z" $ 1 "];'。私は正確な理由(誰か)を覚えていませんが、そうしないと、場合によっては望ましくない行動を起こす可能性があります。 – aspyct
はい、@ Antoine_935、変数にスペースが含まれていると問題になります。 'bash'が理解できない' if [-z hello world] 'になります。 – fedorqui