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

Linux Shell运算符详解(小白也能轻松掌握的Shell脚本核心技能)

在学习 Linux Shell 脚本编程的过程中,Linux Shell运算符 是一个非常基础又关键的知识点。无论你是系统管理员、开发人员,还是刚接触 Linux 的新手,掌握这些运算符都能让你写出更智能、更高效的脚本。

Linux Shell运算符详解(小白也能轻松掌握的Shell脚本核心技能) Shell运算符 Shell脚本编程 Shell条件判断 Shell逻辑运算 第1张

什么是 Shell 运算符?

Shell 运算符是用于执行数学计算、字符串比较、文件测试和逻辑判断等操作的符号。它们广泛应用于 if 条件语句、while 循环、变量赋值等场景中。

一、算术运算符

用于基本的数学运算。注意:在 Bash 中,算术运算通常需要放在 (( ))$(( )) 中。

# 示例:加法运算a=10b=5echo $(( a + b ))  # 输出 15# 使用 (( )) 判断c=$(( a * b ))if (( c > 40 )); then  echo "乘积大于40"fi

二、关系运算符(数值比较)

用于比较两个数字的大小。常用于 [ ][[ ]] 测试结构中。

运算符 含义
-eq 等于(equal)
-ne 不等于(not equal)
-gt 大于(greater than)
-lt 小于(less than)
-ge 大于等于
-le 小于等于
# 示例:数值比较num=20if [ $num -gt 15 ]; then  echo "数字大于15"fi

三、字符串运算符

用于比较或测试字符串内容。

  • ===:等于
  • !=:不等于
  • -z string:字符串长度为0(空)
  • -n string:字符串长度非0(非空)
# 示例:字符串判断str="hello"if [ -n "$str" ]; then  echo "字符串非空"fiif [ "$str" = "hello" ]; then  echo "匹配成功!"fi

四、文件测试运算符

这是 Shell脚本编程 中非常实用的一类运算符,用于检测文件或目录的状态。

  • -e file:文件存在
  • -f file:是普通文件
  • -d file:是目录
  • -r file:可读
  • -w file:可写
  • -x file:可执行
# 示例:检查文件是否存在且可读if [ -e "/etc/passwd" ] && [ -r "/etc/passwd" ]; then  echo "文件存在且可读"fi

五、逻辑运算符

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

  • &&:逻辑与(AND)
  • ||:逻辑或(OR)
  • !:逻辑非(NOT)
# 示例:逻辑与age=25if [ $age -ge 18 ] && [ $age -le 60 ]; then  echo "符合工作年龄"fi# 示例:逻辑非if ! [ -f "/tmp/lock" ]; then  echo "锁文件不存在,可以继续"fi

六、注意事项与最佳实践

1. 在使用变量时,建议用双引号包裹(如 "$var"),防止空值导致语法错误。
2. 使用 [[ ]][ ] 更安全,支持更多功能(如正则匹配)。
3. 空格很重要!例如 [ $a = $b ] 中括号与内容之间必须有空格。

结语

掌握 Shell逻辑运算 和各类运算符,是编写健壮 Shell 脚本的第一步。通过本文的详细讲解和示例,相信即使是初学者也能快速上手。多练习、多尝试,你会发现 Shell 脚本其实并不难!

提示:你可以将上述代码复制到 .sh 文件中,用 chmod +x script.sh 赋予执行权限后运行测试。