Bash脚本中的for循环131

##
##

简介`for`循环是一种控制结构,用于遍历一个序列(例如列表、数组或范围),并在每次迭代中执行一组命令。在 Bash 脚本中,`for`循环的语法如下:
```bash
for var in item1 item2 ... itemN
do
# 要执行的命令
done
```
- `var` 是循环变量,它在每次迭代中都会被分配序列中的一个元素。
- `item1`, `item2`, ..., `itemN` 是要遍历的序列中的元素。
##

例子以下脚本使用 `for` 循环遍历一个字符串数组:
```bash
#!/bin/bash
# 定义字符串数组
fruits=("苹果" "香蕉" "橙子" "芒果")
# 使用 for 循环遍历数组
for fruit in "${fruits[@]}"
do
echo "水果:$fruit"
done
```
输出:
```
水果:苹果
水果:香蕉
水果:橙子
水果:芒果
```
##

变量范围循环变量 `var` 的作用域仅限于循环体。这意味着在循环结束后,`var` 变量将不再可用。
##

可选参数`for` 循环可以包含以下可选参数:
- `in`:指定要遍历的序列。
- `list`:将序列的每个元素作为单独的单词传递给循环体。
- `name`:为循环变量指定一个名称。
##

嵌套循环`for` 循环可以嵌套在其他循环中。嵌套的循环可以通过以下方式创建:
```bash
outer_loop_variable in outer_loop_sequence
do
inner_loop_variable in inner_loop_sequence
do
# 要执行的命令
done
done
```
##

break 和 continue 语句- `break` 语句可用于提前退出循环。
- `continue` 语句可用于跳过当前迭代并继续下一个迭代。
##

示例:文件处理以下脚本使用 `for` 循环遍历目录中的所有文件:
```bash
#!/bin/bash
# 获取当前工作目录
current_dir=$(pwd)
# 使用 for 循环遍历目录中的文件
for file in "$current_dir"/*
do
# 检查文件是否具有特定扩展名
if [[ $file =~ .txt$ ]]; then
echo "找到文本文件:$file"
fi
done
```
##

练习尝试使用 `for` 循环解决以下问题:
- 计算一个列表中所有数字的总和。
- 查找字符串列表中最长的字符串。
- 将文件中的所有行反转。
##

总结`for` 循环是 Bash 脚本中遍历序列的强大工具。通过理解它的语法、变量范围、可选参数以及嵌套循环,你可以编写高效且可读的脚本。

2024-12-08


上一篇:Bash 脚本结尾的常见用法

下一篇:从网页中调用 bash 脚本