Trong bash, for, while, và until là 3 loop constructs. Mỗi loop khác nhau về syntax và functionality nhưng mục đích là iterate over code block khi expression được evaluate.
Until loop dùng để execute code block cho đến khi expression evaluate thành false. Đây là ngược hoàn toàn của while loop. While loop chạy code block khi expression true, until loop làm ngược lại.
until [ expression ] do code block ... done
Phân tích syntax:
- Khởi động loop: dùng until keyword theo sau expression trong single hoặc double braces.
- Expression phải evaluate thành false để bắt đầu chạy code block.
- Code block thực tế đặt giữa do và done.
Bài viết ngắn này hướng dẫn dùng until loop trong shell scripts qua các ví dụ sau.
Tạo Infinite Loop trong Scripts
Tạo infinite loop dùng false statement làm expression. Khi simulate infinite loops, dùng sleep để script chạy định kỳ.
count=0
until false
do
echo "Counter = $count"
((count++))
sleep 2
done
Tạo Single Line Statements
Tạo single-line loop statements. Code dưới giống infinite loop example đầu nhưng single line. Dùng semicolon (;) terminate mỗi statement.
# until false; do echo "Counter = $count"; ((count++)); sleep 2; done
Thay đổi Flow với break và continue Statement
Dùng break và continue statements bên trong while loop (ý muốn là until loop). Break exit loop, pass control đến next statement. Continue skip current iteration, start next iteration.
Dùng cùng infinite loop example. Khi count = 5, continue jump sang next iteration skip rest loop body. Loop break khi count >= 10.
count=0
until false
do
((count++))
if [[ $count -eq 5 ]]
then
continue
elif [[ $count -ge 10 ]]
then
break
fi
echo "Counter = $count"
done
Đó là tất cả bài viết. Sẽ gặp bạn bài viết thú vị khác sớm 'until' thì keep reading và keep supporting.