只是想知道下面的命令是做什么的,或者
-f
意味着什么
if [ -f ${PDFFOLDER}/*.pdf ]; then
rm ${PDFFOLDER}/*.pdf
fi
由于
[ ]
和test
是同一个命令,所以[ ]
中的表达式可以在man test
中找到:
NAME
test - check file types and compare values
SYNOPSIS
test EXPRESSION
test
[ EXPRESSION ]
[ ]
[ OPTION
你还可以看到:
-f 文件
FILE 存在并且是一个常规文件
所以
if [ -f "$file" ]; then...
的意思是:如果文件$file
存在并且是常规文件(即不是目录或设备文件),则执行任何操作。
-f 检查给定参数是否是常规文件。检查http://tldp.org/LDP/abs/html/fto.html
这是一个明显的例子:
[ -f file_path ] && echo "file exist" || echo "doesn't exist"