Linux Shell 03 条件测试

条件测试

方式一:在Bash中 test命令和[]是等价的。

  test命令:

if test $n1 -eq $n2
then
    echo "The two number are equal"
fi

  []命令: "["后面和"]"前面有空格 

if [ $n1 -eq $n2 ]
then
    echo "The two number are equal"
fi

方式二:(( expression )) 测试数学表达式结果

if ((n1 == n2)) 
then
    echo "The two number are equal"
fi

  1. 常用的数学运算符:+,-,*,/,%,**(取幂),位移(<<,>>),++(自增),--(自减),& | ~(位逻辑运算),&& || !(逻辑运算)

  2. (())内部变量前可以不加$,内部不需要转义大小写"<,>"符号

  3. (())扩展了for, if, while测试运算, 使之支持C语言式语句,例如:

if (( n1 != n2)); then
    ...
fi

for((i=1; i<10; i++))
do
    ...
done

i=0
while((i++<10))
do
    echo $i
done

方式三

  [[ expression ]] 支持字符串模式匹配

if [[ $user == roo* ]]
then
    echo "hello $user"
fi
原文地址:https://www.cnblogs.com/techroad4ca/p/5335290.html