1. Learn
  2. /
  3. 课程
  4. /
  5. Shell 入门

Connected

道练习

如何在 shell 脚本中编写循环?

Shell 脚本也可以包含循环。您可以用分号把它们写在同一行,或者为了更易读,将它们分成多行且不加分号:

# 打印每个文件的第一条和最后一条数据记录。
for filename in $@
do
    head -n 2 $filename | tail -n 1
    tail -n 1 $filename
done

(循环体内的命令不一定要缩进,但缩进会让结构更清晰。)

脚本的第一行是一个注释,用于告诉读者脚本的作用。注释以 # 开头并一直延续到行尾。给您未来的自己一个便利,请像这里这样为您编写的每个脚本加上简短说明。

提醒一下:在 Nano 中保存您写好的内容时,先按 Ctrl + O 写出文件,回车确认文件名,然后按 Ctrl + X 退出编辑器。

说明 1/3

undefined XP
  • 1

    在脚本 date-range.sh 中填充占位符, 用 $filename(两处)、head 和 tail 使其能从一个或多个文件中打印第一天和最后一天的日期。

  • 2

    对 4 个季节性数据文件运行 date-range.sh, 使用 seasonal/*.csv 来匹配它们的文件名。

  • 3

    对 4 个季节性数据文件运行 date-range.sh,使用 seasonal/*.csv 来匹配它们的文件名, 并将其输出通过管道传给 sort,以验证您的脚本可以像 Unix 内置命令一样使用。