1. Nauka
  2. /
  3. Kursy
  4. /
  5. Wprowadzenie do powłoki systemowej

Connected

ćwiczenie

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?

Instrukcje

50 XP

Możliwe odpowiedzi