有两个开关if检查文件的条件:-e-f

这两个有什么区别?

答案

看:http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html

我相信这些不是"if 开关",而是"测试开关"(因为你必须在 [] 括号内使用它们。

但是区别是:

[ -e FILE ]如果存在文件,则为true。

这将返回true 对彼此而言/etc/hosts/dev/null以及目录。

[ -f FILE ]如果存在文件并且是常规文件,则为正确。这将返回true 为了/etc/hostsfalse 为了/dev/null(因为它不是常规文件),并且false 为了/dev因为它是目录。

来自: stackoverflow.com