Kom igångKom igång gratis

Hur gör man många saker i en enda loop?

De loopar du har sett hittills har alla haft ett enda kommando eller en enda pipeline i sin kropp, men en loop kan innehålla valfritt antal kommandon. För att tala om för skalet var ett kommando slutar och nästa börjar måste du separera dem med semikolon:

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

Anta att du glömmer semikolonet mellan kommandona echo och head i föregående loop, så att du ber skalet köra:

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

Vad kommer skalet att göra?

Den här övningen är en del av kursen

Introduktion till Shell

Visa kurs

Interaktiv övning med praktiskt arbete

Gör teori till handling med en av våra interaktiva övningar

Starta övningen