提供网站建设定制宁波网站建设培训哪家好
在 Shell 编程中,运算符用于执行各种类型的操作,如算术运算、字符串比较、文件测试等。以下是 Shell 中常用的运算符分类和示例:
1. 算术运算符
Shell 中使用 expr 或 $(( ... )) 来进行算术运算。
+: 加法-: 减法*: 乘法/: 除法%: 取余**: 幂运算(在bash中支持)++: 自增(用于变量)--: 自减(用于变量)
示例:
#!/bin/bash# 定义两个变量
a=10
b=20# 算术运算
sum=$((a + b))
difference=$((a - b))
product=$((a * b))
quotient=$((b / a))
remainder=$((b % a))
power=$((a ** 2))echo "Sum: $sum"
echo "Difference: $difference"
echo "Product: $product"
echo "Quotient: $quotient"
echo "Remainder: $remainder"
echo "Power: $power"
 
2. 关系运算符
关系运算符用于比较两个数字。返回的结果是布尔值(0 为 true,非 0 为 false)。
-eq: 等于-ne: 不等于-gt: 大于-lt: 小于-ge: 大于等于-le: 小于等于
示例:
#!/bin/basha=10
b=20if [ $a -eq $b ]; thenecho "a is equal to b"
elseecho "a is not equal to b"
fiif [ $a -lt $b ]; thenecho "a is less than b"
fi
 
3. 逻辑运算符
逻辑运算符用于布尔逻辑操作。
&&: 逻辑与(AND)||: 逻辑或(OR)!: 逻辑非(NOT)
示例:
#!/bin/basha=10
b=20if [ $a -lt $b ] && [ $a -gt 5 ]; thenecho "a is less than b and greater than 5"
fiif [ $a -gt $b ] || [ $a -lt $b ]; thenecho "Either a is greater than b or less than b"
fi
 
5. 文件测试运算符
文件测试运算符用于检查文件的某些属性。
-e: 文件存在-f: 是普通文件-d: 是目录-r: 文件可读-w: 文件可写-x: 文件可执行-s: 文件大小非 0
示例:
#!/bin/bashfile="example.txt"if [ -e "$file" ]; thenecho "$file exists"
fiif [ -d "$file" ]; thenecho "$file is a directory"
elseecho "$file is not a directory"
fiif [ -r "$file" ]; thenecho "$file is readable"
fi
 
6. 条件运算符(三元运算符)
Shell 中没有直接的三元运算符,但可以使用 if-else 结构或利用 && 和 || 运算符来模拟。
示例:
#!/bin/basha=10
b=20# 使用 && 和 || 模拟三元运算符
[ $a -gt $b ] && echo "a is greater than b" || echo "a is not greater than b"
 
