我正在学习自己的shell脚本,我正在调查如何做If,我不明白一个例子:
if [ -f ./$NAME.tar ]; then
//do something
else
//something else
现在我做了一些实验,并给了NAME我目录中的文件名。当我在没有-f的情况下执行时,它正在进入else条件,但是使用-f它会进入//执行某些条件 所以我认为-f是为了文件。它是否正确?我只是找不到确认这一点的信息。
答案 0 :(得分:19)
来自bash
手册:
-f file - True if file exists and is a regular file.
所以是的,-f
表示存在文件(./$NAME.tar
)并且是常规文件(例如,不是设备文件或目录)。