Shell 运算符
在 Shell 编程中,运算符是用于执行各种操作的特殊符号或关键字。这些运算符可以用于数学计算、逻辑比较、字符串操作等。下面是一些常见的 Shell 运算符及其用法:
算术运算符:
+, -, *, /, %:分别表示加法、减法、乘法、除法和取模运算。
a=10 b=5 echo "a + b = $((a + b))" echo "a - b = $((a - b))" echo "a * b = $((a * b))" echo "a / b = $((a / b))" echo "a % b = $((a % b))"
关系运算符:
==, !=, -eq, -ne, -lt, -gt, -le, -ge:用于比较两个数值或字符串是否相等、不相等,或者大小关系。
== 等于
!= 不等于
-eq 等于
-ne 不等于
-lt 小于
-gt 大于
-le 小于等于
-ge 大于等于
a=10 b=5 if [ $a -eq $b ]; then echo "a is equal to b" fi if [ $a -gt $b ]; then echo "a is greater than b" fi
逻辑运算符
!, -a (and), -o (or):用于执行逻辑非、与和或运算。
! 逻辑非
-a 逻辑与
-o 逻辑或
age=25 if [ $age -gt 18 -a $age -lt 30 ]; then echo "Valid age" fi
字符串运算符:
=, !=, -z (判断字符串长度是否为0), -n (判断字符串长度是否不为0):用于比较字符串是否相等、不相等,或者检查字符串长度。
= 两字符串相等
!= 两字符串不相等
-z 字符串长度为0
str1="hello" str2="world" if [ $str1 = $str2 ]; then echo "Strings are equal" fi
文件测试运算符:
-e (文件或目录是否存在), -f (是否为普通文件), -d (是否为目录), -r (是否可读), -w (是否可写), -x (是否可执行):用于检查文件或目录的各种属性。
file="sample.txt" if [ -e $file ]; then echo "File exists" fi
这些是 Shell 脚本中常用的一些运算符,它们能够帮助你执行各种操作,从简单的数学运算到复杂的条件判断和文件操作。