---
title: 流程控制
date: 2024-06-06T23:51:36Z
tags: []
---

## if

```shell
if [ condition ];
then
    # 在条件为真时执行的命令
elif [ condition2 ];
then
    # 在第一个条件为假，但第二个条件为真时执行的命令
else
    # 在所有条件都为假时执行的命令
fi
```

## case

```shell
case <expression> in
    "<pattern1>")
        <command1>
        ;;
    "<pattern2>")
        <command2>
        ;;
    "<pattern3>")
        <command3>
        ;;
    *)
        <default_command>
        ;;
esac
```

case 关键字表示开始一个 case 语句块。
expression 是需要匹配的表达式或变量。
pattern1, pattern2, pattern3 等是可能的匹配模式。
command1, command2, command3 是与每个模式匹配时要执行的命令。
\*)是通配符，用于匹配所有不符合前面模式的情况。
default_command 是当没有匹配模式时执行的命令。
;;用于标识每个模式下命令的结束。

## for 循环

### 第一种

```shell
for 变量名 in 列表
do
    # 执行操作
done
```

### 第二种

```shell
for((初始化;判断;循环))
do
        # 执行操作
done
```

## while

```python
while [条件控制式]
do
# 执行操作
done
```
