在编写 Linux Shell 脚本时,Shell 运算符是不可或缺的工具。它们用于执行数学计算、字符串比较、文件测试以及逻辑判断等操作。无论你是刚接触 Shell 脚本的新手,还是希望系统复习相关知识的开发者,本文都将带你一步步了解 Shell 中常用的各类运算符,并通过简单易懂的示例帮助你快速上手。

Shell 运算符是在 Shell 脚本中用于执行特定操作的符号。它们可以分为以下几类:
+、-、*)-eq、-gt)=、!=)-f、-d)&&、||、!)Shell 中进行数学计算通常使用 $((...)) 或 expr 命令。常见算术运算符包括:
| 运算符 | 说明 |
|---|---|
| + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法 |
| % | 取余 |
示例代码:
a=10b=3echo $((a + b)) # 输出 13echo $((a % b)) # 输出 1在 if 条件判断中,我们常用关系运算符来比较两个整数。注意:这些运算符只能用于整数!
| 运算符 | 含义 |
|---|---|
| -eq | 等于(equal) |
| -ne | 不等于(not equal) |
| -gt | 大于(greater than) |
| -lt | 小于(less than) |
| -ge | 大于等于 |
| -le | 小于等于 |
示例代码:
num=15if [ $num -gt 10 ]; then echo "数字大于10"fi用于比较字符串是否相等、是否为空等:
| 运算符 | 说明 |
|---|---|
| = | 字符串相等 |
| != | 字符串不相等 |
| -z | 字符串长度为0(空) |
| -n | 字符串长度不为0(非空) |
示例代码:
str="hello"if [ -n "$str" ]; then echo "字符串非空"fiif [ "$str" = "hello" ]; then echo "匹配成功!"fi这是 Shell 脚本中非常实用的功能,用于判断文件或目录的状态:
| 运算符 | 说明 |
|---|---|
| -f | 是普通文件 |
| -d | 是目录 |
| -e | 文件存在 |
| -r / -w / -x | 可读 / 可写 / 可执行 |
示例代码:
if [ -f "/etc/passwd" ]; then echo "passwd 是一个普通文件"fiif [ -d "/home" ]; then echo "/home 是一个目录"fi用于组合多个条件判断,实现更复杂的控制逻辑:
| 运算符 | 说明 |
|---|---|
| ! | 逻辑非(取反) |
| && | 逻辑与(两者都为真才成立) |
| || | 逻辑或(任一为真即成立) |
示例代码:
age=20has_license=trueif [ $age -ge 18 ] && [ "$has_license" = "true" ]; then echo "可以开车"fiif [ ! -f "test.txt" ]; then echo "test.txt 不存在"fi掌握 Linux Shell 运算符是编写高效、健壮 Shell 脚本的基础。无论是做简单的自动化任务,还是复杂的系统管理脚本,这些运算符都能帮你轻松完成条件判断和逻辑控制。建议初学者多动手实践,结合 Shell 脚本教程 和实际项目加深理解。
记住几个关键点:
-eq、-gt 等,不要用 ==;= 或 !=,且建议用双引号包裹变量;-f、-d 等提升脚本健壮性;&& 和 || 可简化流程控制。希望这篇关于 Shell 条件判断 和 Shell 逻辑运算 的教程能为你打开 Shell 编程的大门!
本文由主机测评网于2025-11-25发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/202511642.html