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

Connected

道练习

如何在一个循环中完成多步操作?

到目前为止,您看到的循环在循环体内只有一条命令或一条管道, 但循环体中可以包含任意数量的命令。 要告诉 shell 一条命令结束、下一条开始, 您必须用分号将它们分隔开:

for f in seasonal/*.csv; do echo $f; head -n 2 $f | tail -n 1; done
seasonal/autumn.csv
2017-01-05,canine
seasonal/spring.csv
2017-01-25,wisdom
seasonal/summer.csv
2017-01-11,canine
seasonal/winter.csv
2017-01-03,bicuspid

假设您在上一个循环中忘了在 echo 和 head 命令之间写分号, 于是让 shell 运行:

for f in seasonal/*.csv; do echo $f head -n 2 $f | tail -n 1; done

shell 会怎么做?

说明

50 XP

答案选项