Shell if-fi 条件语句
在 Shell 脚本 中,if ... fi 用于根据条件执行不同的命令块,是最常用的流程控制结构之一。
#!/bin/bash
read -p "请输入一个数字: " num
if [ $num -gt 10 ]; then
echo "数字大于 10"
elif [ $num -eq 10 ]; then
echo "数字等于 10"
else
echo "数字小于 10"
fi
上例中,脚本会根据输入的数字大小输出不同的结果。
基本用法
-
单条件判断
if [ 条件 ]; then
命令
fi
当条件为真时执行命令,否则跳过。
-
双分支判断
if [ 条件 ]; then
命令1
else
命令2
fi
条件为真执行命令1,否则执行命令2。
-
多分支判断
if [ 条件1 ]; then
命令1
elif [ 条件2 ]; then
命令2
else
命令3
fi
依次判断多个条件,匹配到第一个为真时执行对应命令。
注意事项
-
方括号内必须有空格:[ $a == $b ] 正确,[$a==$b] 错误。
-
支持多种运算符:算术、关系、逻辑、字符串、文件测试等。
-
文件测试运算符如 -f file 检查文件是否存在且为普通文件,-d dir 检查目录是否存在。
这种结构在 Shell 自动化脚本中非常常见,例如批量文件处理、系统监控、自动部署等场景都离不开它。
浙公网安备 33010602011771号