Zacznij terazZacznij za darmo

Jak wykonać wiele operacji w jednej pętli?

Wszystkie pętle, które do tej pory widziałeś, miały w ciele tylko jedno polecenie lub jeden potok, ale pętla może zawierać dowolną liczbę poleceń. Aby wskazać powłoce, gdzie kończy się jedno polecenie, a zaczyna kolejne, należy oddzielić je średnikami:

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

Załóżmy, że zapominasz o średniku między poleceniami echo i head w powyższej pętli, w wyniku czego polecenie przekazane do powłoki wygląda tak:

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

Co zrobi powłoka?

To ćwiczenie jest częścią kursu

Wprowadzenie do powłoki systemowej

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Przekształć teorię w praktykę dzięki jednemu z naszych interaktywnych ćwiczeń

Rozpocznij ćwiczenie