开始使用免费开始使用

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

到目前为止,您看到的循环在循环体内只有一条命令或一条管道, 但循环体中可以包含任意数量的命令。 要告诉 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

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

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

shell 会怎么做?

本练习是课程的一部分

Shell 入门

查看课程

动手互动练习

通过我们的互动练习之一,将理论转化为实践

开始练习