プロが教えるわが家の防犯対策術!

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

A 回答 (3件)

test -f ファイル名


です。

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

この回答への補足

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

補足日時:2004/08/31 12:35
    • good
    • 0

#1です。



たしかに、カテゴリ違いですねえ。私も気付かずに回答してました。

#2さんの回答の通りですが、cshでしたら $? の代わりに $status としてください。

ちなみに、終了ステータスは通常if文等に渡して使います。
cshでなくてshの場合ですが、たとえば、
  if test -f ファイル ;then
    あった場合の処理
  else
    なかった場合の処理
  fi
のように使います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2004/09/01 09:13

Solaris なのになぜ Linux のところで質問されているのかはわかりませんが, test の結果は終了ステータスでわかります. test はスクリプトで使われることが多いため標準出力に出すのはかえって無駄ですし, Unix のコマンドというのは必要なとき以外はなにも出力しないことが多いです.



test に限らずコマンドの終了ステータスは $? という変数に入っていますので
test -f 存在するファイル; echo $?
test -f 存在しないファイル; echo $?
を実行すれば違いがわかるかと思います.
    • good
    • 1
この回答へのお礼

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

お礼日時:2004/09/01 09:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!