1.判断字符串是否为空
-n是判断一个变量是否是否有值
#!/bin/bash
myvar="foo"
echo $myvar
if [ -n "$myvar" ]; then
echo "yes"
else
echo "no"
fi
输出:
(tf) localhost:offline wang$ sh test.sh
foo
yes
#!/bin/bash
myvar=""
echo $myvar
if [ -n "$myvar" ]; then
echo "yes"
else
echo "no"
fi
输出:
(tf) localhost:offline wang$ sh test.sh
no
两个变量判断是否相等
if [ "$var1" = "$var2" ]; then
echo '$var1 eq $var2'
else
echo '$var1 not eq $var2'
fi
2.判断一个文件是否存在
#!/bin/bash
myPath='/Users/wangzhenzhu/PycharmProjects/testPro'
myFile='/Users/wangzhenzhu/PycharmProjects/testPro/t.bash'
# 这里的-d 参数判断$myPath是否存在
if [ ! -d "$myPath" ]; then
mkdir "$myPath"
else
echo $myPath
fi
# 这里的-f参数判断$myFile是否存在
if [ ! -f "$myFile" ]; then
touch "$myFile"
else
echo $myFile
fi
解释:
-f file exists and is a regular file.
-s file exists and has a size greater than zero.
-n string length is not zero.