`[-f ...]`是什么意思?

时间:2015-01-20 00:47:57

标签: shell unix

只想知道下面的命令是做什么,或者-f是什么意思

if [ -f ${PDFFOLDER}/*.pdf ]; then
  rm ${PDFFOLDER}/*.pdf
fi

2 个答案:

答案 0 :(得分:2)

由于[ ]test是相同的命令,[ ]中的表达式可以在man test中找到:

NAME
       test - check file types and compare values

SYNOPSIS
       test EXPRESSION
       test

       [ EXPRESSION ]
       [ ]
       [ OPTION

你也看到了:

  

-f 文件

     

存在FILE并且是常规文件

所以if [ -f "$file" ]; then...表示:如果文件$file存在并且是常规文件(即不是目录或设备文件),那么就做任何事情。

答案 1 :(得分:0)

-f检查给定的参数是否是常规文件。查看http://tldp.org/LDP/abs/html/fto.html