• ベストアンサー

ファイルの存在を調べるコマンドってあります?

あるファイルが存在したら1を返しなかったら0を返すみたいな、ファイルの存在を調べるコマンドってありますか?(csh) (OSはSorarisです)

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

  • ベストアンサー
  • shige_70
  • ベストアンサー率17% (168/946)
回答No.1

test -f ファイル名 です。 ところで、cshという条件が付いてますが、スクリプトで使用したいのであればcshは使わない方がいいですよ。

taurus4
質問者

補足

コンソール上で、 >test -f aaa とやってみたんですが、何も返ってきませんでしたが どういうことなんでしょうか?

その他の回答 (2)

  • shige_70
  • ベストアンサー率17% (168/946)
回答No.3

#1です。 たしかに、カテゴリ違いですねえ。私も気付かずに回答してました。 #2さんの回答の通りですが、cshでしたら $? の代わりに $status としてください。 ちなみに、終了ステータスは通常if文等に渡して使います。 cshでなくてshの場合ですが、たとえば、   if test -f ファイル ;then     あった場合の処理   else     なかった場合の処理   fi のように使います。

taurus4
質問者

お礼

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

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

Solaris なのになぜ Linux のところで質問されているのかはわかりませんが, test の結果は終了ステータスでわかります. test はスクリプトで使われることが多いため標準出力に出すのはかえって無駄ですし, Unix のコマンドというのは必要なとき以外はなにも出力しないことが多いです. test に限らずコマンドの終了ステータスは $? という変数に入っていますので test -f 存在するファイル; echo $? test -f 存在しないファイル; echo $? を実行すれば違いがわかるかと思います.

taurus4
質問者

お礼

そういうことですか、分かりました。ありがとうございます。

関連するQ&A

専門家に質問してみよう