运算符
在 Linux Shell 编程中,运算符用于执行各种操作,如算术运算、字符串比较、文件条件测试等。以下是 Shell 脚本中常用的几类运算符:
1. 算术运算符
Shell 脚本支持基本的算术运算。这些运算通常需要在双括号 (( ))
中使用或者借助于 expr
命令。
+
:加法,例如result=$((a + b))
-
:减法,例如result=$((a - b))
*
:乘法,例如result=$((a * b))
/
:除法,例如result=$((a / b))
%
:取模,例如result=$((a % b))
2. 关系运算符
关系运算符用于数值比较,可以在 [[ ]]
、[ ]
或者通过 test
命令中使用。
-eq
:等于,例如[ "$a" -eq "$b" ]
-ne
:不等于,例如[ "$a" -ne "$b" ]
-gt
:大于,例如[ "$a" -gt "$b" ]
-lt
:小于,例如[ "$a" -lt "$b" ]
-ge
:大于等于,例如[ "$a" -ge "$b" ]
-le
:小于等于,例如[ "$a" -le "$b" ]
3. 字符串运算符
字符串运算符用于字符串比较。
=
:等于,例如[ "$a" = "$b" ]
!=
:不等于,例如[ "$a" != "$b" ]
-z
:字符串长度是否为0,例如[ -z "$a" ]
-n
:字符串长度是否非0,例如[ -n "$a" ]
4. 逻辑运算符
逻辑运算符可以用于组合多个条件。
&&
:逻辑与,例如[[ $a -gt 0 && $b -lt 10 ]]
||
:逻辑或,例如[[ $a -lt 0 || $b -lt 10 ]]
!
:逻辑非,例如[[ ! -e file.txt ]]
5. 文件测试运算符
文件测试运算符用于检测文件的属性。
-e
:文件是否存在,例如[ -e file.txt ]
-f
:是否为普通文件,例如[ -f file.txt ]
-d
:是否为目录,例如[ -d directory ]
-r
:文件是否可读,例如[ -r file.txt ]
-w
:文件是否可写,例如[ -w file.txt ]
-x
:文件是否可执行,例如[ -x file.txt ]
-s
:文件是否非空,例如[ -s file.txt ]
这些运算符允许你在 Bash 脚本中执行各种逻辑、数学和文件操作,是编写条件语句和循环的重要部分。