×

Tìm hiểu từ khóa do và done trong vòng lặp Bash

Trong bài viết này, chúng ta sẽ cùng tìm hiểu về các từ khóa "do" và "done" trong vòng lặp Bash, một phần quan trọng của ngôn ngữ lập trình Shell dùng cho hệ điều hành Unix và Linux. Vòng lặp là một trong những cấu trúc điều khiển cơ bản giúp tự động hóa các tác vụ lặp đi lặp lại, và việc nắm rõ cách sử dụng chúng sẽ giúp bạn tối ưu hóa quá trình lập trình.

Bash (Bourne Again SHell) là một ngôn ngữ lập trình mạnh mẽ, thường được sử dụng để viết các tập lệnh tự động hóa trong môi trường Unix/Linux. Một trong những tính năng mạnh mẽ của Bash là khả năng lặp lại phần mã, cho phép bạn thực hiện nhiều lần mà không cần phải viết lại mã nhiều lần.

Thế giới lập trình Bash có những cú pháp riêng để thực hiện vòng lặp, trong đó "do" và "done" là hai từ khóa không thể thiếu. Dưới đây là mục tiêu của bài viết này: giúp bạn hiểu rõ hơn về cách sử dụng chúng, cũng như cung cấp một số ví dụ thực tế để bạn có thể áp dụng trong các dự án của mình.

Khái quát về vòng lặp trong Bash

Trong Bash, có nhiều loại vòng lặp, bao gồm vòng lặp for, whileuntil. Mỗi loại vòng lặp có cách hoạt động riêng, nhưng tất cả đều có cấu trúc cơ bản giống nhau khi sử dụng các từ khóa "do" và "done".

Vòng lặp for

Vòng lặp for cho phép bạn lặp qua một danh sách các giá trị hoặc một dãy số. Cú pháp cơ bản của vòng lặp for trong Bash như sau:

for variable in list
do
    # commands
done

Ví dụ sử dụng vòng lặp for

for i in 1 2 3 4 5
do
    echo "Số hiện tại là: $i"
done

Trong ví dụ trên, vòng lặp sẽ in ra các số từ 1 đến 5. Từ khóa "do" đánh dấu bắt đầu của phần thân vòng lặp, nơi mà ta đặt các lệnh cần thực thi. Từ khóa "done" đánh dấu kết thúc vòng lặp.

Vòng lặp while

Vòng lặp while sẽ tiếp tục thực hiện cho đến khi điều kiện xác định trở thành sai. Cú pháp cơ bản như sau:

while condition
do
    # commands
done

Ví dụ sử dụng vòng lặp while

count=1
while [ $count -le 5 ]
do
    echo "Đếm đến: $count"
    ((count++))
done

Ở ví dụ này, vòng lặp while sẽ tiếp tục chạy cho đến khi biến count vượt quá 5. Mỗi lần lặp lại, biến count sẽ được tăng thêm 1 nhờ vào cú pháp ((count++)).

Vòng lặp until

Vòng lặp until tương tự như vòng lặp while, nhưng trái ngược lại: nó sẽ lặp khi điều kiện là sai. Cú pháp:

until condition
do
    # commands
done

Ví dụ sử dụng vòng lặp until

count=1
until [ $count -gt 5 ]
do
    echo "Đếm đến: $count"
    ((count++))
done

Trong ví dụ này, vòng lặp sẽ tiếp tục thực thi cho đến khi biến count lớn hơn 5.

Sự khác biệt giữa các vòng lặp

Mỗi loại vòng lặp trong Bash được sử dụng trong những tình huống khác nhau. Vòng lặp for thường được dùng khi bạn biết số lần lặp cụ thể, trong khi whileuntil được sử dụng khi số lần lặp không xác định và phụ thuộc vào điều kiện nào đó.

Kết luận

Việc hiểu rõ về các từ khóa "do" và "done" trong vòng lặp Bash sẽ giúp bạn tạo ra các tập lệnh tự động hóa hiệu quả và linh hoạt. Những ví dụ minh họa trên đây sẽ là nền tảng để bạn tiếp tục khám phá và áp dụng vào các dự án của riêng mình. Hãy luyện tập thường xuyên và thử nghiệm với các vòng lặp để nắm vững kiến thức này nhé!

Comments