Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Lập Trình Bash

Làm chủ Bash 'until' Loop: Hướng dẫn Bước بخط cho Shell Scripts

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
Làm chủ Bash  until  Loop: Hướng dẫn Bước بخط cho Shell Scripts

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
Làm chủ Bash  until  Loop: Hướng dẫn Bước بخط cho Shell Scripts

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àm chủ Bash  until  Loop: Hướng dẫn Bước بخط cho Shell Scripts

Đó 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.