• ベストアンサー

bash ファイルなし判定

現在bash scriptにおいてファイル存在判定を下記のように しています。 if [ -s "tmp.txt" ]; then (dummy=1) else echo " no [tmp.txt] file" exit fi -sでファイルがある場合のelseとしていています。 if文で直接ファイルが"ない"という判定はどのように 記載するのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • P-mann
  • ベストアンサー率62% (56/89)
回答No.2

man testすれば分かりそうなものですが。 「! expression」 とすると条件を否定することができます。 なので、 if [ ! -s "tmp.txt" ]; then echo " no [tmp.txt] file" fi です。

flex1101
質問者

お礼

ありがとうございました。 これでうまくいきました。

その他の回答 (1)

回答No.1

test コマンドで -e オプションを使用すれば ファイルの有無を判定できますね.

参考URL:
http://www.linux.or.jp/JM/html/GNU_sh-utils/man1/test.1.html
flex1101
質問者

お礼

回答ありがとうございました。