如何在單一迴圈中完成多件事?
到目前為止你看到的迴圈,迴圈主體中都只包含一個指令或一條管線, 但其實一個迴圈可以包含任意多個指令。 為了告訴 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 會怎麼做?
本練習屬於課程
