1. Học hỏi
  2. /
  3. Khoa Học
  4. /
  5. Nhập môn Shell

Connected

Bài tập

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 echo và head 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ì?

Hướng dẫn

50 XP

Các phương án trả lời