ÎncepețiÎncepe gratuit

Cum pot face mai multe lucruri într-o singură buclă?

Buclele pe care le-ai văzut până acum aveau o singură comandă sau un singur pipeline în corpul lor, dar o buclă poate conține oricâte comenzi. Pentru a-i indica shell-ului unde se termină una și unde începe următoarea, trebuie să le separi cu punct și virgulă:

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

Să presupunem că uiți punct și virgula dintre comenzile echo și head din bucla anterioară, astfel încât îi ceri shell-ului să ruleze:

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

Ce va face shell-ul?

Acest exercițiu face parte din cursul

Introducere în Shell

Vezi cursul

Exercițiu interactiv practic

Transformă teoria în practică cu unul dintre exercițiile noastre interactive

Începe exercițiul