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

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

在编写 Linux Shell 脚本时,Linux Shell运算符 是不可或缺的一部分。它们帮助我们进行数值计算、字符串比较、文件判断以及逻辑控制。无论你是刚接触 Shell 脚本的小白,还是想巩固基础知识的开发者,本文都将带你一步步理解 Shell 中常用的各类运算符。

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

一、什么是 Shell 运算符?

Shell 运算符是用于执行数学、比较、逻辑或字符串操作的符号。它们通常出现在条件语句(如 if)、循环或变量赋值中。

二、常见 Shell 运算符分类

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

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

1. 算术运算符

用于基本数学计算。注意:在 Bash 中,算术运算通常使用 ((...))$((...)) 语法。

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

2. 关系(比较)运算符

用于比较两个数值。常用于 if 条件中,需配合 [ ][[ ]] 使用。

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

3. 字符串运算符

用于比较或测试字符串。

str1="hello"str2="world"if [ "$str1" = "$str2" ]; then  echo "字符串相等"else  echo "字符串不相等"fi# 测试字符串是否为空if [ -z "$str1" ]; then  echo "str1 为空"fi  

4. 文件测试运算符

用于检查文件属性,是 Shell脚本教程 中非常实用的部分。

file="/etc/passwd"if [ -f "$file" ]; then  echo "$file 是一个普通文件"fiif [ -r "$file" ]; then  echo "$file 可读"fi  

5. 逻辑运算符

用于组合多个条件,实现复杂的 Shell条件判断 和流程控制。

  • &&:逻辑与(AND)
  • ||:逻辑或(OR)
  • !:逻辑非(NOT)
a=10b=20# 逻辑与:两个条件都为真才执行if [ $a -gt 5 ] && [ $b -lt 30 ]; then  echo "条件满足"fi# 逻辑非if ! [ -f "nonexistent.txt" ]; then  echo "文件不存在"fi  

三、实战小例子:用户输入判断

下面是一个结合多种运算符的完整脚本,展示如何进行 Shell逻辑运算

#!/bin/bashread -p "请输入一个数字: " numif [[ $num -gt 0 && $num -le 100 ]]; then  echo "输入的是 1 到 100 之间的正数"elif [ $num -le 0 ]; then  echo "输入的是非正数"else  echo "输入的数字大于 100"fi  

四、总结

掌握 Linux Shell运算符 是编写高效 Shell 脚本的基础。通过算术、比较、字符串、文件和逻辑运算符的组合,你可以构建出功能强大的自动化脚本。建议多动手练习,将这些知识融入日常的 Shell脚本教程 实践中。

希望这篇教程能帮助你轻松入门 Shell 运算符!如果你觉得有用,不妨收藏并分享给其他学习者。