bash中的循环语句

三葉Leaves Author

1. for 循环

for 循环通常用于遍历一个序列或列表。

基本格式:

1
2
3
4
for variable in list
do
# 循环体
done
  • variable:循环变量,变量名任取,每次迭代都会从列表中取一个值赋给它。
  • list:一个值的序列,可以是字符串、数字或文件名列表。

示例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 遍历字符串列表
for i in A B C
do
echo "字母 $i"
done

# 遍历数字序列
for i in {1..5}
do
echo "数字 $i"
done

# 遍历文件名
for file in *.txt
do
echo "处理文件 $file"
done

大括号扩展

list可以使用大括号扩展,用于生成:

  1. 连续的数字序列{1..3} 生成 1 2 3
  2. 字符序列{a..c} 生成 a b c
  3. 组合序列{1..3..5} 生成 1 3(从 1 开始到 3 结束,步长为 5)。
  4. 组合字符和数字{a..e..2} 生成 a c e(步长为 2)。

语法

  • {start..end}:生成从 start 到 end 的连续序列。
  • {start..end..step}:生成从 start 到 end 的连续序列,步长为 step

2. while 循环

while 循环会一直执行,直到条件不再为真。

基本格式:

1
2
3
4
while [ condition ]
do
# 循环体
done
  • condition:每次迭代前都会检查的条件。

示例:

1
2
3
4
5
6
7
8
#!/bin/bash

i=0
while [ $i -lt 5 ]
do
echo "数字 $i"
((i++))
done

3. until 循环

until 循环与 while 循环相反,它会一直执行,直到条件为真。

基本格式:

1
2
3
4
until [ condition ]
do
# 循环体
done
  • condition:循环停止的条件。

示例:

1
2
3
4
5
6
7
8
#!/bin/bash

i=0
until [ $i -ge 5 ]
do
echo "数字 $i"
((i++))
done

4. C 风格的 for 循环

Bash 也支持 C 风格的 for 循环,它更接近于其他编程语言中的 for 循环。

基本格式:

1
2
3
4
for (( init; condition; increment ))
do
# 循环体
done
  • init:初始化表达式。
  • condition:循环继续的条件。
  • increment:每次迭代后执行的表达式。

示例:

1
2
3
4
5
6
#!/bin/bash

for (( i=0; i<5; i++ ))
do
echo "数字 $i"
done

注意事项

  • 在使用循环时,确保循环有明确的退出条件,以避免无限循环。
  • 在处理文件列表时,可以使用通配符(如 *.txt)来指定所有 .txt 文件。
  • 使用 break 语句可以提前退出循环,而 continue 语句可以跳过当前迭代,直接进行下一次迭代。

这些是 Bash 脚本中循环语句的基本用法和格式。

  • 标题: bash中的循环语句
  • 作者: 三葉Leaves
  • 创建于 : 2024-10-04 00:00:00
  • 更新于 : 2024-12-02 20:12:10
  • 链接: https://kiss1314.top/581f7fa38163/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论