-e filename 如果 filename存在,则为真-d filename 如果 filename为目录,则为真-f filename 如果 filename为常规文件,则为真-L filename 如果 filename为符号链接,则为真-r filename 如果 filename可读,则为真-w filename 如果 filename可写,则为真-x filename 如果 filename可执行,则为真-s filename 如果文件长度不为0,则为真-h filename 如果文件是软链接,则为真
1.判断文件是否存在
#1#如果文件夹不存在,创建文件夹if [ ! -d "/opt/test/111" ]; thenmkdir -p /opt/test/111fi#2#如果目录/opt/test存在,删除目录if [ ! -d "/opt/test" ]; thenrm -rf /opt/testfi
例如:判断“/opt/test/111”这个目录存不存在,若不存在就创建
2.判断文件是否存在
# -f 参数判断 $file 是否存在file=/opt/test.txtif [ ! -f "$file" ]; thenecho "$file不存在"elseecho "$file已存在"fi
3.判断文件夹是否存在并且是否具有可执行权限
#判断文件,目录是否存在或者具有权限folder="/var/www/"file="/var/www/test"# -x 参数判断 $folder 是否存在并且是否具有可执行权限if [ ! -x "$folder"]; thenmkdir "$folder"fi
4.判断一个变量是否有值
# -n 判断一个变量是否有值if [ ! -n "$var" ]; thenecho "$var is empty"fi
5.判断两个变量是否相等
# 判断两个变量是否相等if [ "$var1" = "$var2" ]; thenecho '$var1 eq $var2'elseecho '$var1 not eq $var2'fi