21

I am learning shell Scripting on my own, and I was investigation how to do the If, and I didn’t understand an example that had:

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

Now I did some experimenting, and I gave NAME the name of a file I had on my directory. When I executed without the -f, it was entering in the else condition, but with -f it enters the //do something condition So I presume -f is for file. Is this correct? I just couldn’t find information to confirm this.

4

1 に答える 1

38

bashマニュアルから:

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

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

于 2013-03-19T22:27:25.873 に答える