当前位置:首页 > 服务器技术 > 正文

Linux Shell运算符详解(从零开始掌握Shell脚本中的运算与判断)

在编写 Linux Shell 脚本时,经常需要进行数值比较、字符串判断或逻辑控制。这些操作都离不开 Shell 运算符。本文将带你从零开始,全面了解 Shell 中常用的各类运算符,即使是编程小白也能轻松上手!

Linux Shell运算符详解(从零开始掌握Shell脚本中的运算与判断) Shell运算符 Shell脚本编程 条件判断 逻辑运算 第1张

一、什么是 Shell 运算符?

Shell 运算符 是用于执行算术、比较、逻辑等操作的符号。它们广泛应用于条件语句(如 if)、循环结构和变量处理中,是 Shell脚本编程 的核心组成部分。

二、Shell 运算符分类

Shell 中的运算符主要分为以下几类:

  • 算术运算符
  • 关系(比较)运算符
  • 字符串运算符
  • 逻辑运算符
  • 文件测试运算符

1. 算术运算符

用于基本数学计算。注意:在 Bash 中,算术运算通常用 (( ))$(( )) 表示。

a=10b=3echo $((a + b))  # 输出 13echo $((a * b))  # 输出 30echo $((a % b))  # 输出 1(取余)

2. 关系运算符(数值比较)

用于比较两个数值的大小,常用于 if 判断中。需配合 [ ][[ ]] 使用。

运算符 含义 示例
-eq 等于 [ $a -eq $b ]
-ne 不等于 [ $a -ne $b ]
-gt 大于 [ $a -gt $b ]
-lt 小于 [ $a -lt $b ]

3. 字符串运算符

用于判断字符串是否为空、是否相等等。

str="hello"if [ -z "$str" ]; then  echo "字符串为空"elif [ "$str" = "hello" ]; then  echo "字符串匹配成功!"fi

常用字符串运算符:

  • -z string:字符串长度为0则为真
  • -n string:字符串长度非0则为真
  • string1 = string2:两字符串相等
  • string1 != string2:两字符串不等

4. 逻辑运算符

用于组合多个条件,实现复杂的 条件判断

  • &&:逻辑与(AND)
  • ||:逻辑或(OR)
  • !:逻辑非(NOT)
age=20if [ $age -ge 18 ] && [ $age -le 60 ]; then  echo "年龄在合法工作范围内"fi

5. 文件测试运算符

用于检测文件属性,是 Shell 脚本中非常实用的功能。

if [ -f "/etc/passwd" ]; then  echo "/etc/passwd 是一个普通文件"fiif [ -d "/home" ]; then  echo "/home 是一个目录"fi

常见文件测试运算符:

  • -f file:存在且为普通文件
  • -d file:存在且为目录
  • -r file:文件可读
  • -w file:文件可写
  • -x file:文件可执行

三、注意事项

  • [ ] 中,运算符两边必须有空格,否则会报错!
  • 字符串变量建议用双引号包裹,防止空值或含空格时报错。
  • 使用 [[ ]][ ] 更安全,支持正则表达式等高级功能。

四、总结

掌握 Linux Shell运算符 是编写高效、健壮 Shell 脚本的基础。无论是做自动化运维、系统监控还是日常任务处理,这些运算符都能帮你轻松实现 逻辑运算条件判断。多加练习,你很快就能写出专业的 Shell 脚本!

关键词回顾:Linux Shell运算符Shell脚本编程条件判断逻辑运算