逻辑操作符是程序中进行判断的根本要素,也是执行不同的语句组合的依据。有时这也被称为流控制。
逻辑操作符
Bash 中有大量的用于不同条件表达式的逻辑操作符。最基本的是 if
控制结构,它判断一个条件,如果条件为真,就执行一些程序语句。操作符共有三类:文件、数字和非数字操作符。如果条件为真,所有的操作符返回真值(0
),如果条件为假,返回假值(1
)。
这些比较操作符的函数语法是,一个操作符加一个或两个参数放在中括号内,后面跟一系列程序语句,如果条件为真,程序语句执行,可能会有另一个程序语句列表,该列表在条件为假时执行:
if [ arg1 operator arg2 ] ; then list
或
if [ arg1 operator arg2 ] ; then list ; else list ; fi
像例子中那样,在比较表达式中,空格不能省略。中括号的每部分,[
和 ]
,是跟 test
命令一样的传统的 Bash 符号:
if test arg1 operator arg2 ; then list
还有一个更新的语法能提供一点点便利,一些系统管理员比较喜欢用。这种格式对于不同版本的 Bash 和一些 shell 如 ksh(Korn shell)兼容性稍差。格式如下:
if [[ arg1 operator arg2 ]] ; then list