2013-03-19 87 views
10

我學習shell腳本我自己,我是研究怎麼做。如果,我不明白,有一個例子:Shell腳本如果[-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 2013-03-19 22:29:24

+3

它在'CONDITIONAL EXPRESSIONS'部分的'man 1 bash'中。 – kamituel 2013-03-19 22:30:12