【メッセージ具体例紹介】引数が多すぎます【シェルスクリプト】
備忘録になります。以下のようなケースでエラーメッセージが発生します。
# cat wrk.sh
VAR="A B C"
if [ -n $VAR ] ; then
echo "AAA"
fi
# ./wrk.sh
./wrk.sh: 2 行: [: 引数が多すぎます
比較対象となる変数にスペースが含まれる場合、複数変数を指定したと解釈され、期待しない動作となります。変数をダブルクォーテーション(“)で囲う事でスペースを含む変数を扱えます。
# cat wrk.sh
VAR="A B C"
if [ -n "$VAR" ] ; then
echo "AAA"
fi
# ./wrk.sh
AAA
関連リンク