Vòng lặp là một trong những khái niệm cơ bản của ngôn ngữ lập trình. Vòng lặp rất hữu ích khi bạn muốn chạy đi chạy lại một loạt lệnh cho đến khi một điều kiện cụ thể được đáp ứng.

Trong các ngôn ngữ kịch bản như Bash, các vòng lặp rất hữu ích để tự động hóa các tác vụ lặp đi lặp lại. Có 3 cấu trúc vòng lặp cơ bản trong Bash scripting, for , while và until.

Hướng dẫn này giải thích những điều cơ bản về vòng lặp until trong Bash.

Vòng lặp until trong bash

Vòng lặp until được sử dụng để thực hiện một tập hợp các lệnh miễn là đánh giá lại tình trạng ban cho sai.

Vòng lặp until Bash có dạng sau:

until [CONDITION]
do
  [COMMANDS]
done

Điều kiện được đánh giá trước khi thực hiện các lệnh. Nếu điều kiện được đánh giá là false, các lệnh sẽ được thực hiện. Ngược lại, nếu điều kiện được đánh giá là true, vòng lặp sẽ bị kết thúc và điều khiển chương trình sẽ được chuyển cho lệnh sau đó.

Trong ví dụ dưới đây, trên mỗi lần lặp, vòng lặp sẽ in ra giá trị hiện tại của biến counter và tăng giá trị của biến lên một.

#!/bin/bash

counter=0

until [ $counter -gt 5 ]
do
  echo Counter: $counter
  ((counter++))
done

Vòng lặp lặp lại miễn là biến counter có giá trị lớn hơn bốn. Tập lệnh sẽ tạo ra kết quả sau:

Counter: 0
Counter: 1
Counter: 2
Counter: 3
Counter: 4
Counter: 5

Sử dụng các câu lệnh break và continue để kiểm soát việc thực thi vòng lặp.

Ví dụ về vòng lặp until Bash

Tập lệnh sau có thể hữu ích khi máy chủ git của bạn có thời gian chết và thay vì nhập thủ công git pull nhiều lần cho đến khi máy chủ trực tuyến, bạn có thể chạy tập lệnh một lần. Nó sẽ cố gắng pull kho lưu trữ cho đến khi thành công.

#!/bin/bash

until git pull &> /dev/null
do
    echo "Waiting for the git host ..."
    sleep 1
done

echo -e "\nThe git repository is pulled."

Tập lệnh sẽ in “Waiting for the git host…” và sleep trong một giây cho đến khi máy chủ git trực tuyến. Khi kho lưu trữ được kéo, nó sẽ in “The git repository is pulled.”.

Waiting for the git host ...
Waiting for the git host ...
Waiting for the git host ...

The git repository is pulled.

Phần kết luận

Vòng lặp while và until tương tự như nhau. Sự khác biệt chính là while vòng lặp lặp lại miễn là điều kiện đánh giá đến true và until vòng lặp lặp lại miễn là điều kiện đánh giá đến false.

Nếu bạn có bất kỳ câu hỏi hoặc phản hồi nào, vui lòng để lại bình luận.

0 0 votes
Article Rating
Subscribe
Notify of
guest
0 Comments
Oldest
Newest Most Voted
Inline Feedbacks
View all comments