美文网首页
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