-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" ]; then
    mkdir -p /opt/test/111
fi

#2
#如果目录/opt/test存在,删除目录
if [ ! -d "/opt/test" ]; then
    rm -rf /opt/test
fi

例如:判断“/opt/test/111”这个目录存不存在,若不存在就创建

2.判断文件是否存在

# -f 参数判断 $file 是否存在
file=/opt/test.txt

if [ ! -f "$file" ]; then
    echo "$file不存在"
else
    echo "$file已存在"
fi

 

3.判断文件夹是否存在并且是否具有可执行权限

#判断文件,目录是否存在或者具有权限

folder="/var/www/"
file="/var/www/test"

# -x 参数判断 $folder 是否存在并且是否具有可执行权限
if [ ! -x "$folder"]; then
    mkdir "$folder"
fi

 4.判断一个变量是否有值

# -n 判断一个变量是否有值

if [ ! -n "$var" ]; then
    echo "$var is empty"
fi

5.判断两个变量是否相等

# 判断两个变量是否相等
if [ "$var1" = "$var2" ]; then
    echo '$var1 eq $var2'
else
    echo '$var1 not eq $var2'
fi

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐