開始使用免費開始

如何在單一迴圈中完成多件事?

到目前為止你看到的迴圈,迴圈主體中都只包含一個指令或一條管線, 但其實一個迴圈可以包含任意多個指令。 為了告訴 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 入門

檢視課程

動手互動練習

將理論付諸實踐,立即體驗我們的互動練習

開始練習