在脚本编程中,循环结构用于重复执行一段代码,直到满足特定条件。以下是一些常见的循环结构及其用法:
for循环
基本语法:
```bash
for 变量 in 列表; do
循环体
done
```
示例:
```bash
for i in {1..5}; do
echo "Number: $i"
done
```
C语言风格的for循环:
```bash
for (( 初始值; 循环控制; 变量变化 )); do
循环体
done
```
示例:
```bash
for (( i=1; i<=100; i++ )); do
echo "Count: $i"
done
```
while循环
基本语法:
```bash
while [ 条件 ]; do
循环体
done
```
示例:
```bash
n=1
while [ $n -le 5 ]; do
echo "Count: $n"
((n++))
done
```
无条件循环:
```bash
while true; do
echo "This is an infinite loop"
done
```
until循环
基本语法:
```bash
until [ 条件 ]; do
循环体
done
```
示例:
```bash
count=1
until [ $count -gt 5 ]; do
echo "Count: $count"
((count++))
done
```
嵌套循环
示例:
```bash
for i in {1..3}; do
for j in {1..3}; do
echo "($i, $j)"
done
done
```
实用技巧
使用break和continue:`break`用于跳出当前循环,`continue`用于跳过当前循环的剩余部分,直接进入下一次循环。
使用标签和jump:通过标签和`jump`命令可以实现跨文件的循环跳转。
示例脚本
```bash
!/bin/bash
单循环示例
variable i loop 3
echo "$i"
next i
jump SELF
嵌套循环示例
label lp
variable j loop 5
variable k loop 3
echo "($j, $k)"
next k
jump lp
分支示例
if [ $i -eq 2 ]; then
echo "i is 2"
elif [ $i -eq 3 ]; then
echo "i is 3"
else
echo "i is not 2 or 3"
fi
```
通过这些循环结构和技巧,你可以编写出灵活且高效的脚本程序。