上一篇
在 Linux Shell脚本编程 中,运算符是构建逻辑、实现自动化任务的核心工具。无论你是刚接触命令行的新手,还是希望提升脚本编写能力的中级用户,掌握 Linux Shell运算符 的正确用法都至关重要。本文将从基础讲起,通过大量示例和最佳实践,带你轻松上手。

Shell运算符用于对变量、字符串、数字等进行比较、计算或逻辑判断。常见的类型包括:
+, -, *)-eq, -gt, ==)=, !=, -z)&&, ||, !)在Bash中,算术运算通常使用 (( )) 或 $(( )) 语法:
# 加法示例a=10b=5echo $(( a + b )) # 输出 15# 使用 (( )) 进行判断if (( a > b )); then echo "a 大于 b"fi💡 最佳实践:尽量使用$(( ))而不是老旧的`expr`命令,前者更高效且可读性更强。
这些运算符用于整数比较,常用于 if 判断中:
| 运算符 | 含义 |
|---|---|
| -eq | 等于(equal) |
| -ne | 不等于(not equal) |
| -gt | 大于(greater than) |
| -lt | 小于(less than) |
num=20if [ $num -gt 10 ]; then echo "数字大于10"fi用于判断字符串是否相等、为空等:
str="hello"# 判断是否相等if [ "$str" = "hello" ]; then echo "匹配成功!"fi# 判断字符串是否为空if [ -z "$str" ]; then echo "字符串为空"else echo "字符串非空"fi⚠️ 重要提示:务必给变量加上双引号(如 "$str"),防止变量为空时导致语法错误。逻辑运算符 是组合多个条件的关键:
&&:逻辑“与”(AND)||:逻辑“或”(OR)!:逻辑“非”(NOT)# 同时满足两个条件if [ $age -ge 18 ] && [ $has_id = "yes" ]; then echo "允许进入"fi# 满足任一条件if [ $status = "error" ] || [ $retry -gt 3 ]; then echo "需要人工干预"fi# 错误1:未加引号,变量含空格会出错if [ $name = "John Doe" ]; then ... # 危险!# 错误2:混淆 = 和 ==# 在 [ ] 中,= 和 == 功能相同,但建议统一用 =# 错误3:数字比较用了字符串运算符if [ $num == "10" ]; then ... # 应该用 -eq"$var"-eq、-gt 等,不要用 ==[[ ]](支持正则、更安全)set -u 防止未定义变量引发错误#!/bin/bashset -u # 遇到未定义变量立即报错name="Alice"if [[ -n "$name" && "$name" =~ ^[A-Z] ]]; then echo "名字以大写字母开头"fi掌握 Linux Shell运算符 是编写健壮、可维护脚本的基础。通过合理使用 条件判断 和 逻辑运算符,你可以让脚本智能地响应不同场景。记住:清晰的代码结构 + 安全的变量引用 + 正确的运算符选择 = 高质量Shell脚本。
现在就打开终端,动手试试这些例子吧!实践是掌握 Shell脚本编程 的最快方式。
本文由主机测评网于2025-11-29发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://www.vpshk.cn/2025111191.html