• 締切済み

bash 日付の比較でエラー

いつもお世話になっております。 表題についてご教授願えないでしょうか。 エラーは [: -ge: unary operator expected プログラムは date1=20130414 date2=20130419 if [ $date1 -ge date2 ] then; echo "test" fi 上記のようなプログラムがあって TRUEなら処理をします。 結果はFALSEなのですが、 上記のようなアラートがでてしまいます。 変数はNULLでないので、比較ができると思ってるのですが、 bashはやった事ないので、ご教授頂ければ幸いです。

みんなの回答

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.2

> if [ $date1 -ge date2 ] then; ・date2の前に$がない ・セミコロンの位置が違う

prr4e
質問者

補足

返答ありがとうございます。 申し訳ありません。 記述ミスです。 data2 → $data2 です。 セミコロンの位置は他と合わせてるんですが、 他は問題なく動作しています。 実際はセミコロンと] の間に半角スペースが必要なのでしょうか。

  • bin-chan
  • ベストアンサー率33% (1403/4213)
回答No.1

> if [ $date1 -ge date2 ] then; date2に$は必要ないのかな?

prr4e
質問者

補足

返答ありがとうございます。 申し訳ありません。 記述ミスです。 data2 → $data2 になります。

関連するQ&A