2013-03-19 16 views
10

場合:シェルスクリプト私は自分自身でシェルスクリプトを学んでいます、と私はもしを行うには、私が持っていた例を理解していないか調査した[-f ./file]

if [ -f ./$NAME.tar ]; then 
    //do something 
else 
    //something else 

今私はいくつかの実験を行いました。私は自分のディレクトリにあるファイルの名前をNAMEに渡しました。私が-fなしで実行したとき、else条件に入っていましたが、-fで//何かの条件を入力しました -fはファイルのためのものです。これは正しいです?私はちょうどこれを確認する情報を見つけることができませんでした。

答えて

14

bashマニュアルから:

-f file - True if file exists and is a regular file. 

そうです、-fは、ファイル(あなたのケースで./$NAME.tar)が通常のファイル(いないデバイスファイルまたは例えばディレクトリ)が存在していることを意味します。

+0

私はこの愚かな私のためのマニュアルページを見つけていませんでした。ありがとうございました。 – Alessandroempire

+3

これは '条件式'の 'man 1 bash'にあります。 – kamituel

関連する問題