完成循环

This commit is contained in:
hemingtsai 2024-10-02 12:43:38 +08:00
parent 6dbdf4d140
commit 0d17743272
3 changed files with 88 additions and 2 deletions

View File

@ -26,7 +26,7 @@
- [Vim编辑器](./shell_and_shell_script/vim_editor.md)
- [Shell Script基本语法](./shell_and_shell_script/shell_script_basic.md)
- [条件判断语句](./shell_and_shell_script/conditional_judgment.md)
- [循环]()
- [循环](./shell_and_shell_script/loops.md)
- [函数]()
- [at与corntab]()
- [at]()

View File

@ -0,0 +1,86 @@
# 循环
循环是任何编程语言中控制流语法的重要组成部分它允许我们重复执行一段代码直到满足某个条件为止。在Shell脚本中我们可以使用以下几种循环结构
- for-in 循环: 依次循环某个数组中的每个元素。
- for 循环:带有初始化、判断条件、迭代语句的循环。
- while循环: 在某个条件为真时,重复执行一段代码。
- until循环: 在某个条件为假时,重复执行一段代码。
接下来就让我们逐一讲解这些循环结构。
## 数组?
数组是Shell脚本中的一种数据结构它可以存储多个值并且可以通过索引来访问这些值。在Shell脚本中我们可以使用以下语法来定义一个数组
```shell
array=("value1" "value2" "value3")
```
数组中的元素都拥有一个唯一的索引索引从0开始。我们可以使用以下语法来访问数组中的元素
```shell
array[0]
```
这将会返回array数组中的第一个元素即"value1"。
## for-in 循环
for-in循环是Shell脚本中最常用的循环结构之一它允许我们依次循环某个数组中的每个元素。以下是一个简单的for-in循环示例
```shell
for variable in array
do
loop_body
done
```
在这个示例中variable是循环变量array是要循环的数组。在每次循环中variable都会被赋值为array中的一个元素然后执行loop_body。当array中的所有元素都被循环完毕后循环结束。
## for 循环
for循环是Shell脚本中另一种常用的循环结构它允许我们使用初始化、判断条件、迭代语句来控制循环的执行。以下是一个简单的for循环示例
```shell
for ((initialization; condition; iteration))
do
loop_body
done
```
在这个示例中initialization是循环的初始化语句condition是循环的判断条件iteration是循环的迭代语句。在每次循环中condition都会被判断如果为真则执行loop_body然后执行iteration。当condition为假时循环结束。
## while循环
while循环是Shell脚本中另一种常用的循环结构它允许我们在某个条件为真时重复执行一段代码。以下是一个简单的while循环示例
```shell
while condition
do
loop_body
done
```
在这个示例中condition是循环的判断条件loop_body是循环的主体。在每次循环中condition都会被判断如果为真则执行loop_body。当condition为假时循环结束。
## until循环
until循环刚好与while循环相反它允许我们在某个条件为假时重复执行一段代码。以下是一个简单的until循环示例
```shell
until condition
do
loop_body
done
```
在这个示例中condition是循环的判断条件loop_body是循环的主体。在每次循环中condition都会被判断如果为假则执行loop_body。当condition为真时循环结束。
until循环常常被用于多次尝试的场景下例如尝试连接到一个远程服务器直到连接成功为止。
## 课后作业
- 使用for循环制作一个程序程序读取一个正整数N并输出 2^N 的值。
- 使用while循环制作一个猜数字游戏程序随机生成一个1到100之间的整数玩家需要猜出这个数字是多少程序会根据玩家的猜测给出相应的提示直到玩家猜对为止。
- 使用for-in循环制作一个程序该程序读取一个列表并输出它的所有元素。

2
theme

@ -1 +1 @@
Subproject commit e86e607d37ef22f6615e615624bdc5af7805f7e0
Subproject commit 5cc3235e5adf22838eeb69ce5200acb4916db5f8