- ベストアンサー
Bシェルで変数名に""を付ける場合は
Bシェルについての質問です。 last=`egrep 'ERROR' $log |tail -1` if [ "$last" = "" ]; then exit fi 上記のif文で$lastに""を付けないとエラーが発生します。 つけることが必要な場合はどのような条件の時なのかご存知の方教えていただけますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
シェル変数lastに何も設定されていない時、 if [ $last = "" ]; then は、$lastが展開されると if [ = "" ]; then になり、「=」の左側に比較対象が何もないのでエラー[(test)コマンドの文法エラー。 しかし、 if [ "$last" = "" ]; then の場合、$lastが展開されると if [ "" = "" ]; then になり文法的に問題なし。 文字列の比較だから""は付けておいた方がいいのでは?
お礼
早速の回答ありがとうございます。 大変分かりやすい説明をしていただきました。 ありがとうございました。