Як виконати багато дій в одному циклі?
Цикли, які ви бачили до цього, містили лише одну команду або конвеєр у тілі, але цикл може містити будь-яку кількість команд. Щоб підказати оболонці, де закінчується одна команда і починається наступна, потрібно розділяти їх крапкою з комою:
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
Припустімо, ви забули крапку з комою між командами echo і head у попередньому циклі,
і попросили оболонку виконати:
for f in seasonal/*.csv; do echo $f head -n 2 $f | tail -n 1; done
Що зробить оболонка?
Ця вправа є частиною курсу
Вступ до Shell
Практична інтерактивна вправа
Перетворіть теорію на практику за допомогою однієї з наших інтерактивних вправ
Почати вправу