在编写 Linux Shell 脚本时,经常需要根据不同的条件执行不同的操作。这就需要用到条件函数(也叫条件判断语句)。本文将带你从零开始,轻松掌握 Shell 中的条件判断,即使你是编程小白也能看懂!
什么是 Shell 条件判断?
Linux Shell 条件判断 是指通过 if、elif、else 等关键字,结合测试命令(如 [ ] 或 [[ ]]),来判断某个条件是否成立,从而决定程序下一步该做什么。
基本语法结构
最简单的 if 语句结构如下:
if [ 条件 ]; then # 条件为真时执行的命令fi
如果要处理多个分支,可以使用 elif 和 else:
if [ 条件1 ]; then # 条件1为真时执行elif [ 条件2 ]; then # 条件2为真时执行else # 所有条件都不满足时执行fi
常用测试条件
在 Shell 中,我们通常使用方括号 [ ] 来进行条件测试。以下是一些常见用法:
- 文件测试:
[ -f 文件 ]:判断是否为普通文件[ -d 目录 ]:判断是否为目录[ -e 路径 ]:判断路径是否存在
- 字符串比较:
[ "$str1" = "$str2" ]:判断两个字符串是否相等[ -z "$str" ]:判断字符串是否为空
- 数值比较:
[ $num1 -eq $num2 ]:等于(equal)[ $num1 -gt $num2 ]:大于(greater than)[ $num1 -lt $num2 ]:小于(less than)
实战示例
下面是一个完整的 Shell 脚本示例,演示如何判断用户输入的数字是正数、负数还是零:
#!/bin/bashecho "请输入一个整数:"read numif [ $num -gt 0 ]; then echo "你输入的是正数。"elif [ $num -lt 0 ]; then echo "你输入的是负数。"else echo "你输入的是零。"fi
将上述代码保存为 check_number.sh,然后在终端中运行:
chmod +x check_number.sh./check_number.sh
注意事项
- 方括号
[ ]内部两侧必须有空格,例如[ $a = $b ]正确,而[$a=$b]错误。 - 变量最好用双引号包裹,防止空值或含空格时报错,例如
[ "$var" = "hello" ]。 - 现代 Shell(如 Bash)推荐使用
[[ ]],它比[ ]更强大且不易出错。
结语
通过本教程,你应该已经掌握了 Shell 编程入门 中最关键的条件判断技巧。无论是写自动化脚本,还是日常运维任务,Linux 条件函数 都是你不可或缺的工具。多加练习,你很快就能写出功能强大的 Shell 脚本!
记住,学习 Shell 脚本 if 语句 的关键是动手实践。现在就打开你的终端,试试上面的例子吧!

