shell入门(3)——shell中的比较

比较

在实际当中,我们一定会遇到变量之间的比较的时候,在shell中比较主要是分为数值类型的比较和字符类型的比较,具体如何比较如下

数值比较

  1. []比较
#!/bin/bash
a=1
b=0
if [ $a > $b ]
then 
  echo "a > b"
else
  echo "a < b"
fi

//结果输出 a > b

如果把[]中的>换成>=<=会报错,这个时候用2.的方法就没问题了

  1. (())比较
#!/bin/bash
a=1
b=0
if (( $a >= $b ))
then 
  echo "a >= b"
else
  echo "a < b"
fi

//结果输出 a >= b

字符串比较

字符串主要有下面5个操作符
1. =:检测两个字符串是否相等,相等返回 true

#!/bin/bash
a="hello"
b="hallo"
if[ $a = $b ] 
then
    echo 'a=b'
else
    echo 'a!=b'
if

//结果输出 a=b
  1. !=:检两个字符串是否相等,不相等返回 true。
#!/bin/bash
a="hello"
b="hallo"
if[ $a != $b ] 
then
    echo 'a!=b'
else
    echo 'a=b'
if

//结果输出 a!=b
  1. -z:检测字符串长度是否为0,为 0 返回 true。
#!/bin/bash
a="hello"
b="hallo"
if[ -z $a ] 
then
    echo 'a的字符长度为0'
else
    echo 'a的字符长度不为0'
if

//结果输出 a的字符长度不为0
  1. -n:检测字符串长度是否为0,不为 0 返回 true。
#!/bin/bash
a="hello"
b="hallo"
if[ -n $a ] 
then
    echo 'a的字符长度不为0'
else
    echo 'a的字符长度为0'
if

//结果输出 a的字符长度不为0
  1. str:检测字符串是否为空,不为空返回 true。
#!/bin/bash
a="hello"
b="hallo"
if[ $a  ] 
then
    echo 'a字符不为空'
else
    echo 'a字符为空'
if

//结果输出 a字符不为空

猜你喜欢

转载自blog.csdn.net/x1032019725/article/details/81051247