Unix / Linux - Shell 布尔运算符示例
-
简述
Bourne Shell 支持 wing 布尔运算符。假设变量 a 容纳 10 和变量 b 持有 20 然后 -操作员 描述 例子 ! 这是逻辑否定。这将真条件转换为假,反之亦然。 [ ! 假] 是真的。 -o 这是合乎逻辑的 OR. 如果操作数之一为真,则条件为真。 [ $a -lt 20 -o $b -gt 100 ] 是真的。 -a 这是合乎逻辑的 AND. 如果两个操作数都为真,则条件为真,否则为假。 [ $a -lt 20 -a $b -gt 100 ] 是假的。 -
例子
这是一个使用所有布尔运算符的示例 -#!/bin/sh a=10 b=20 if [ $a != $b ] then echo "$a != $b : a is not equal to b" else echo "$a != $b: a is equal to b" fi if [ $a -lt 100 -a $b -gt 15 ] then echo "$a -lt 100 -a $b -gt 15 : returns true" else echo "$a -lt 100 -a $b -gt 15 : returns false" fi if [ $a -lt 100 -o $b -gt 100 ] then echo "$a -lt 100 -o $b -gt 100 : returns true" else echo "$a -lt 100 -o $b -gt 100 : returns false" fi if [ $a -lt 5 -o $b -gt 100 ] then echo "$a -lt 100 -o $b -gt 100 : returns true" else echo "$a -lt 100 -o $b -gt 100 : returns false" fi
上面的脚本将生成以下结果 -10 != 20 : a is not equal to b 10 -lt 100 -a 20 -gt 15 : returns true 10 -lt 100 -o 20 -gt 100 : returns true 10 -lt 5 -o 20 -gt 100 : returns false
使用运算符时需要考虑以下几点 --
运算符和表达式之间必须有空格。例如,2+2 不正确;它应该写为 2 + 2。
-
if...then...else...fi 声明是一个决策声明,在下一章中已经解释过。
-