Bash 脚本中的if...then...fi

2025-04-21T11:19:00

在 Bash 脚本中,if...then...fi 是最基础也是最常用的条件语句结构,类似于其他语言中的 if...else 结构。

🧱 基本语法格式

if 条件
then
    命令1
    命令2
fi

✅ 示例:

if [ -f /etc/passwd ]
then
    echo "文件存在"
fi
这个例子判断 /etc/passwd 是否存在并且是个普通文件。

✨ 加上 else 的格式:

if 条件
then
    命令1
else
    命令2
fi

示例:

if [ "$USER" = "root" ]
then
    echo "你是超级用户"
else
    echo "你不是 root 用户"
fi

🌈 多条件:if...elif...else...fi

if 条件1
then
    命令1
elif 条件2
then
    命令2
else
    命令3
fi

示例:

if [ "$1" = "start" ]
then
    echo "开始服务"
elif [ "$1" = "stop" ]
then
    echo "停止服务"
else
    echo "未知命令"
fi

🧠 条件表达式说明(最常用):

表达式含义
[ -f FILE ]文件存在且是普通文件
[ -d DIR ]目录存在
[ -z STRING ]字符串长度为 0
[ STRING1 = STRING2 ]两个字符串相等
[ NUM1 -eq NUM2 ]两个整数相等
[ NUM1 -lt NUM2 ]NUM1 小于 NUM2
[ 条件 ] && [ 条件 ]多个条件 "并且"

❗注意事项:

  • 方括号两边一定要留空格,如 [ "$USER" = "root" ](否则报错)
  • fiif 的结束标志(fiif 反过来)

🔧 小脚本示例:

#!/bin/bash

read -p "请输入一个数字: " num

if [ "$num" -gt 100 ]; then
    echo "大于 100"
elif [ "$num" -eq 100 ]; then
    echo "等于 100"
else
    echo "小于 100"
fi
当前页面是本站的「Baidu MIP」版。发表评论请点击:完整版 »