shell中的-f和-e有什么区别?

时间:2016-06-24 07:28:52

标签: linux shell unix

shell -f -e 有什么区别?

我知道

  

-e :检查文件名是否存在

     

-f :检查文件是否存在

但是,他们之间有什么区别?

修改

我特别关注这段代码:

if [ -e test.sh ]; then
    echo "Yes";
else
    echo "No";
fi 

if [ -f test.sh ]; then 
    echo "Yes"; 
else
    echo "No"; 
fi

两者都打印

1 个答案:

答案 0 :(得分:2)

-f-e类似,但它还检查名称是指普通文件(而不是目录,套接字等)。

请参阅man 2 statst_mode / S_IFMT的说明,了解可能的文件类型列表。