1. 判断一个字符串是否为空
str1=""
if [ "$str1" == "" ]
then
echo “str1 is a empty string.”
fi
注意上述变量str1
使用了双引号
括起来,如果没有双引号,程序并不报错,但实际的判断过程并不如我们所想,也即是判断的并不是字符串是否为空。
同样的,判断两个字符串相等,每个变量也必须使用双引号括起来。
2. shell中整数大小比较
- 大于
-gt
(geater than) - 小于
-lt
(less than) - 等于
-eq
(equal) - 大于等于
-ge
(greater or equal) - 小于等于
-le
(less or equal)
注:如果是浮点数大小比较,可以通过awk实现。
a=12.34
b=10.9
y_or_n=`echo $a $b | awk '{if($1 > $2) print 1; else print 0;}'`
if [ $y_or_n -eq 1 ]
then
echo "a > b"
else
echo "a <= b"
fi
通过引入一个y_or_n参数将浮点数大小比较转换为整数大小比较。
3. shell中的逻辑运算符
- 与
-a
(and) - 或
-o
(or) - 非
!
(not)
4. shell中判断一个文件(file)或目录(directory)是否存在
if [ -e $file ]
then
rm $file
fi
# ============
if [ ! -e $directory ]
then
mkdir -p $directory
fi
网友评论