Bash 脚本中的 if-then 语句343


在 Bash 脚本中,if-then 语句用于根据条件执行特定的代码块。它是一种条件语句,允许脚本根据特定条件改变其执行路径。if-then 语句的语法如下:```bash
if [ condition ]; then
# 代码块
fi
```
其中:
* `[ condition ]` 是要评估的条件,可以是布尔表达式或命令的退出状态。
* `then` 是条件为真时要执行的代码块。
以下是 if-then 语句如何工作的示例:
```bash
#!/bin/bash
if [ $USER = "root" ]; then
# 只有在用户为 root 时才执行此代码块
echo "你是 root 用户。"
fi
```
在这个脚本中,如果 `$USER` 变量的值等于 `"root"`, 则会打印消息 `"你是 root 用户。"`。如果 `$USER` 的值不等于 `"root"`, 则不会执行代码块。

条件if-then 语句中的条件可以是布尔表达式或命令的退出状态。布尔表达式使用以下运算符:
* `=` 等于
* `!=` 不等于
* `-gt` 大于
* `-lt` 小于
* `-ge` 大于或等于
* `-le` 小于或等于
* `-eq` 等于(零退出状态)
* `-ne` 不等于(非零退出状态)
命令的退出状态也可以作为条件使用。退出状态是命令完成时返回的值,0 表示成功,非零值表示失败。

嵌套 if 语句if-then 语句可以嵌套,允许基于多个条件执行复杂的代码逻辑。嵌套 if 语句的语法如下:
```bash
if [ condition1 ]; then
# 代码块 1
elif [ condition2 ]; then
# 代码块 2
else
# 代码块 3
fi
```
其中:
* `elif` 语句用于检查其他条件,如果 `condition1` 为假。
* `else` 语句用于在所有其他条件都为假时执行代码块。
以下是嵌套 if 语句如何工作的示例:
```bash
#!/bin/bash
if [ $USER = "root" ]; then
echo "你是 root 用户。"
elif [ $USER = "admin" ]; then
echo "你是管理员用户。"
else
echo "你只是一个普通用户。"
fi
```
在这个脚本中,根据 `$USER` 变量的值执行不同的代码块。如果 `$USER` 为 `"root"`, 则会打印消息 `"你是 root 用户。"`。如果 `$USER` 为 `"admin"`, 则会打印消息 `"你是管理员用户。"`。如果 `$USER` 不是 `"root"` 或 `"admin"`, 则会打印消息 `"你只是一个普通用户。"`。

if-then-else 语句if-then 语句可以扩展为 if-then-else 语句,允许在条件为假时执行不同的代码块。if-then-else 语句的语法如下:
```bash
if [ condition ]; then
# 代码块 1
else
# 代码块 2
fi
```
其中:
* `else` 语句用于在 `condition` 为假时执行代码块。
以下是 if-then-else 语句如何工作的示例:
```bash
#!/bin/bash
if [ $USER = "root" ]; then
echo "你是 root 用户。"
else
echo "你并不是 root 用户。"
fi
```
在这个脚本中,如果 `$USER` 为 `"root"`, 则会打印消息 `"你是 root 用户。"`。如果 `$USER` 不是 `"root"`, 则会打印消息 `"你并不是 root 用户。"`。

2024-12-04


上一篇:shell脚本bash输出

下一篇:Bash 脚本 cd 命令:在命令行中导航文件夹