shell 中的-f 和-e 有什么区别?
我知道
-e : To check if the file name exists
-f : To check if a file exists
但是,它们之间有什么区别呢?
编辑:
我特别关注这段代码:
if [ -e test.sh ]; then
echo "Yes";
else
echo "No";
fi
if [ -f test.sh ]; then
echo "Yes";
else
echo "No";
fi
两者都打印是。
最佳答案
-f
与 -e
类似,但它还检查名称是否指代普通文件(与目录、套接字等相对)。
参见man 2 stat
中st_mode
/S_IFMT
的描述获取可能的文件类型列表。
关于linux - shell中的-f和-e有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38007903/