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" ]的[]的语法前后需要空格,否则会报错