Bắt đầu ngayBắt đầu miễn phí

Làm sao để thực hiện nhiều việc trong một vòng lặp duy nhất?

Các vòng lặp bạn đã thấy đến giờ chỉ có một lệnh hoặc một pipeline trong thân, nhưng một vòng lặp có thể chứa bao nhiêu lệnh cũng được. Để cho shell biết lệnh này kết thúc và lệnh kế tiếp bắt đầu ở đâu, bạn phải ngăn cách chúng bằng dấu chấm phẩy:

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

Giả sử bạn quên dấu chấm phẩy giữa echohead trong vòng lặp trước, để rồi yêu cầu shell chạy:

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

Shell sẽ làm gì?

Bài tập này là một phần của khóa học

Nhập môn Shell

Xem khóa học

Bài tập tương tác thực hành

Biến lý thuyết thành hành động với một trong các bài tập tương tác của chúng tôi

Bắt đầu bài tập