bash スクリプトを作成しましたが、変数が空かどうかの条件をテストしているときにエラーが発生します。
以下はスクリプトの例です。
変数 a と fne に値を代入するために実行されるコマンドについては言及していませんが、
#! /bin/bash
for f in /path/*
do
a=`some command output`
fne=`this command operates on f`
if[ -z "$a" ]
then
echo "nothing found"
else
echo "$fne" "$a"
fi
done
エラー: 予期しないトークン "then" 付近の構文エラー。
次のような別のバリエーションを試しました。
#! /bin/bash
for f in /path/*
do
a=`some command output`
fne=`this command operates on f`
if[ -z "$a" ]; then
echo "nothing found"
else
echo "$fne" "$a"
fi
done
再び同じエラー。
このように比較してみると:
if[ "$a" == "" ]; then
再び同じエラー。
エラーの理由がわかりません。変数 a の値は次のようになります。
それと何か (1) : [x, y]
スペース、ブラケット、コンマ、コロンが含まれます。比較のために、変数名を二重引用符で囲んでいます。