Menu
CoddyTech

Vòng lặp for

Thuộc phần Kiến thức cơ bản trong hành trình Terminal của Coddy. Bài học 71 trên 82.

Đôi khi bạn cần lặp lại một hành động nhiều lần. Thay vì viết đi viết lại cùng một lệnh, bạn có thể dùng vòng lặp for để duyệt qua danh sách các mục và thực hiện một hành động với từng mục.

Đây là cấu trúc cơ bản của vòng lặp for trong Bash:

#!/bin/bash
for name in Alice Bob Charlie; do
    echo "Hello, $name!"
done

Đoạn script này in ra lời chào cho từng tên trong danh sách. Biến name lần lượt nhận từng giá trị: đầu tiên là "Alice", sau đó là "Bob", rồi đến "Charlie". Từ khóa do đánh dấu phần bắt đầu của thân vòng lặp, còn done kết thúc vòng lặp.

Vòng lặp for đặc biệt hữu ích khi kết hợp với ký tự đại diện. Bạn có thể lặp qua tất cả các tệp trong một thư mục:

#!/bin/bash
for file in *.txt; do
    echo "Processing $file"
done

Đoạn này lặp qua mọi tệp .txt trong thư mục hiện tại. Ở mỗi lần lặp, biến file chứa tên tệp hiện tại, giúp bạn tự động thực hiện thao tác trên từng tệp.

Bạn cũng có thể lặp qua một dãy số bằng cách mở rộng dấu ngoặc nhọn:

#!/bin/bash
for i in {1..5}; do
    echo "Number: $i"
done

Lệnh này in ra các số từ 1 đến 5. Vòng lặp for giúp rút gọn các tác vụ lặp đi lặp lại thành vài dòng code, giúp tập lệnh chạy hiệu quả hơn và dễ bảo trì hơn.

challenge icon

Thử thách

Dễ

Tạo một tập lệnh shell có tên countdown.sh dùng vòng lặp for để in ra số đếm ngược từ 5 đến 1.

Tập lệnh của bạn cần:

  1. Bắt đầu bằng dòng shebang (#!/bin/bash)
  2. Dùng vòng lặp for với phép mở rộng dấu ngoặc nhọn để lặp qua các số từ 5 giảm dần đến 1
  3. In từng số trên một dòng riêng theo định dạng: Countdown: [number]

Đặt tập lệnh thành tệp có thể thực thi rồi chạy. Đầu ra cần là:

Countdown: 5
Countdown: 4
Countdown: 3
Countdown: 2
Countdown: 1

Gợi ý: Dùng {5..1} để tạo một dãy giảm dần. Bên trong vòng lặp, dùng echo "Countdown: $i", trong đó i là biến vòng lặp.

Tự làm thử

Terminal
quiz iconTự kiểm tra

Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.

Tất cả bài học trong Kiến thức cơ bản

Tự luyện tập: Playground Terminal