for 循环
本课属于 Coddy Terminal 学习旅程的“基础知识”单元。第 71 课,共 82 课。
有时,你需要多次重复执行某个操作。你可以使用 for 循环遍历列表中的项目,并对每个项目执行操作,而不必一遍又一遍地编写相同的命令。
下面是 Bash 中 for 循环的基本结构:
#!/bin/bash
for name in Alice Bob Charlie; do
echo "Hello, $name!"
done这个脚本会为列表中的每个名字输出一条问候语。变量 name 会依次取每个值:先是 "Alice",然后是 "Bob",最后是 "Charlie"。do 关键字标记循环体的开始,done 则结束循环体。
for 循环与通配符结合使用时尤其强大。你可以遍历目录中的所有文件:
#!/bin/bash
for file in *.txt; do
echo "Processing $file"
done这会遍历当前目录中的每个 .txt 文件。每次循环时,file 变量都会保存当前文件名,让你自动对每个文件执行操作。
你也可以使用花括号展开来遍历一组数字:
#!/bin/bash
for i in {1..5}; do
echo "Number: $i"
done这会打印数字 1 到 5。for 循环可以把重复的任务简化为几行代码,让你的脚本更高效,也更容易维护。
挑战
简单创建一个名为 countdown.sh 的 shell 脚本,使用 for 循环打印从 5 到 1 的倒计时。
你的脚本应:
- 以 shebang 行(
#!/bin/bash)开头 - 使用带花括号展开的 for 循环,遍历从 5 到 1 的数字
- 每个数字单独占一行打印,格式为:
Countdown: [number]
让脚本可执行并运行它。输出应为:
Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1提示:使用
{5..1}创建一个递减范围。在循环中,使用echo "Countdown: $i",其中i是你的循环变量。
亲手试试
这节课包含一个小测验。开始学习即可作答,并记录你的进度。
基础知识中的所有课
自己练习: Terminal 在线编辑器