shell脚本编程 for 循环详解181


在 shell 脚本编程中,for 循环是一种用于重复执行一定序列命令的控制结构。它允许您遍历列表、数组或文件中的元素,并针对每个元素执行特定操作。

语法

for 循环的基本语法如下:
for variable in list
do
# 执行命令
done

其中:* `variable` 是一个变量,用于存储列表中的每个元素。
* `list` 是要遍历的列表、数组或文件。

示例

以下脚本使用 for 循环遍历一个数字列表:
#!/bin/bash
# 定义列表
numbers=(1 2 3 4 5)
# 遍历列表
for number in "${numbers[@]}"
do
echo $number
done

运行此脚本将输出以下内容:
1
2
3
4
5

for 循环选项

for 循环提供了一些选项来控制其行为:* -n:仅当列表非空时执行循环。
* -r:按相反顺序遍历列表。
* -g:按组遍历列表的元素,其中每个组由一个指定的分隔符分隔。
* -s:将列表视为字符串并按字符遍历。

嵌套循环

for 循环可以嵌套在一起,以创建多级循环结构。例如,以下脚本使用嵌套的 for 循环生成乘法表:
#!/bin/bash
# 外部循环:遍历行
for i in {1..10}
do
# 内部循环:遍历列
for j in {1..10}
do
echo "$i x $j = $((i*j))"
done
done

运行此脚本将输出以下乘法表:
1 x 1 = 1
1 x 2 = 2
1 x 3 = 3
...
10 x 9 = 90
10 x 10 = 100

使用 for 循环遍历文件

for 循环还可以用于遍历文件中的行。例如,以下脚本使用 for 循环读取文件并显示其内容:
#!/bin/bash
# 定义文件名
file=""
# 遍历文件
for line in $(cat $file)
do
echo $line
done

运行此脚本将输出文件的内容,逐行显示。

for 循环中的变量作用域

在 for 循环中定义的变量仅在循环体内可见。要使变量在循环外可用,您需要使用 `export` 命令显式导出它。例如:
#!/bin/bash
# 循环内定义变量
for i in {1..10}
do
export sum=$((sum+i))
done
# 循环外使用变量
echo "The sum is $sum"

运行此脚本将输出以下内容:
The sum is 55


for 循环是 shell 脚本编程中一种强大的控制结构,用于重复执行命令序列。它具有灵活性,可以遍历列表、数组、文件甚至嵌套循环。通过理解其语法、选项和作用域规则,您可以有效地使用 for 循环来编写复杂且强大的脚本。

2025-01-19


上一篇:编程脚本揭秘:揭开超级玛丽背后的魔术

下一篇:我的世界脚本编写:揭秘 Java 和命令块编程