shell判断文件目录或文件是否存在

1、文件描述符

-e 判断对象是否存在
-d 判断对象是否存在,并且为目录
-f 判断对象是否存在,并且为常规文件
-L 判断对象是否存在,并且为符号链接
-h 判断对象是否存在,并且为软链接
-s 判断对象是否存在,并且长度不为0
-r 判断对象是否存在,并且可读
-w 判断对象是否存在,并且可写
-x 判断对象是否存在,并且可执行
-O 判断对象是否存在,并且属于当前用户
-G 判断对象是否存在,并且属于当前用户组
-nt 判断file1是否比file2新  [ "/data/file1" -nt "/data/file2" ]
-ot 判断file1是否比file2旧  [ "/data/file1" -ot "/data/file2" ]

2、示例

当前目录下是否存在目录jar

if [ -d "jar" ];
then 
    echo "yes"
else
    echo "no"
fi

当前目录下是否存在文件jar.sh

if [ ! -f "jar.sh" ];
then
    echo "no"
else
    echo "yes"
fi

附注:

[ ! -f "jar.sh" ]的[]的语法前后需要空格,否则会报错

posted @ 2019-09-04 09:30  花拾夕  阅读(21408)  评论(2编辑  收藏  举报