shell 脚本编程之逻辑运算符

逻辑运算符

和大多数语言一样,shell 的逻辑运算符有与或非三种,不同的是 shell 有两套逻辑运算符。
第一套,测试内作逻辑运算

逻辑运算符 说明
[ ! expression ] 逻辑非
[ expression1 -a expression2 ] 逻辑与
[ expression1 -o expression2 ] 逻辑或

第二套,测试外作逻辑运算

逻辑运算符 说明
! [ expression ] 逻辑非
[ expression1 ] && [ expression2 ] 逻辑与
[ expression1 ] || [ expression2 ] 逻辑或

逻辑运算是短路运算;支持多个逻辑运算符组合。

#learn_logic_operator.sh
#!/bin/bash
a=10
b=20
c=0
if [ $b -gt $a -a $b -gt $c ]; then
    echo b is largest number
fi
if [ $c -lt $a ] && [ $c -lt $b ]; then
    echo c is less number
fi
if [ $c -eq 0 ]; then
    echo    c is zero
fi
if [ ! $a -eq 0 ]; then
    echo a is not zero
fi
if ! [ $b -eq 0 ]; then
    echo b is not zero
fi

执行结果

b is largest number
c is less number
c is zero
a is not zero
b is not zero

你可能感兴趣的:(Linux)