1. Learn
  2. /
  3. Courses
  4. /
  5. Nhập môn Shell

Connected

Exercise

Làm thế nào để viết vòng lặp trong shell script?

Shell script cũng có thể chứa các vòng lặp. Bạn có thể viết chúng trên một dòng với dấu chấm phẩy, hoặc tách thành nhiều dòng không có dấu chấm phẩy để dễ đọc hơn:

# In ra bản ghi dữ liệu đầu tiên và cuối cùng của mỗi tệp.
for filename in $@
do
    head -n 2 $filename | tail -n 1
    tail -n 1 $filename
done

(Bạn không bắt buộc phải thụt lề các lệnh bên trong vòng lặp, nhưng làm vậy sẽ rõ ràng hơn.)

Dòng đầu tiên của script này là comment để cho người đọc biết script làm gì. Comment bắt đầu bằng ký tự # và kéo dài đến hết dòng. Phiên bản bạn trong tương lai sẽ cảm ơn bạn vì đã thêm các giải thích ngắn gọn như ví dụ này vào mọi script bạn viết.

Nhắc lại: để lưu nội dung bạn đã viết trong Nano, nhấn Ctrl + O để ghi tệp, rồi Enter để xác nhận tên tệp, sau đó Ctrl + X để thoát trình soạn thảo.

Instructions 1/3

undefined XP
  • 1

    Điền các chỗ trống trong script date-range.sh với $filename (hai lần), head, và tail để nó in ra ngày đầu tiên và cuối cùng từ một hoặc nhiều tệp.

  • 2

    Chạy date-range.sh trên cả bốn tệp dữ liệu theo mùa bằng cách dùng seasonal/*.csv để khớp tên của chúng.

  • 3

    Chạy date-range.sh trên cả bốn tệp dữ liệu theo mùa bằng seasonal/*.csv để khớp tên của chúng, và chuyển (pipe) đầu ra của nó sang sort để thấy rằng script của bạn có thể được dùng giống như các lệnh dựng sẵn của Unix.