美文网首页
shell中字符串比较,整数大小比较

shell中字符串比较,整数大小比较

作者: AibWang | 来源:发表于2020-01-08 17:20 被阅读0次

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

相关文章

网友评论

      本文标题:shell中字符串比较,整数大小比较

      本文链接:https://www.haomeiwen.com/subject/wsmsactx.html