Friday, November 22, 2024

[Bash] Lesson 18 – Bash While Loop

-

Vòng lặp While trong Bash
Trong chủ đề này, chúng ta đã thể hiện cách sử dụng câu lệnh while loop trong Bash Script.

Vòng lặp while của bash có thể được định nghĩa là một câu lệnh điều khiển luồng điều khiển cho phép thực hiện tập hợp các lệnh đã cho lặp lại cho đến khi điều kiện được áp dụng đánh giá là đúng. Ví dụ, chúng ta có thể chạy lệnh echo nhiều lần hoặc chỉ đọc một file văn bản từng dòng và xử lý kết quả bằng cách sử dụng vòng lặp while trong Bash.

Cú pháp của Bash While Loop
Vòng lặp while của Bash có định dạng như sau:

while [ expression ];  
do  
commands;  
multiple commands;  
done  

Cú pháp trên chỉ áp dụng khi biểu thức chứa một điều kiện duy nhất.

Nếu có nhiều điều kiện để bao gồm trong biểu thức, thì cú pháp của vòng lặp while sẽ như sau:

while [ expressions ];  
do  
commands;  
multiple commands;  
done  

Cú pháp của vòng lặp while trong một dòng có thể được định nghĩa như sau:

while [ condition ]; do commands; done  
while control-command; do Commands; done  

Dưới đây là một số điểm quan trọng của lệnh vòng lặp ‘while’:

  • Điều kiện được kiểm tra trước khi thực hiện các lệnh.
  • Vòng lặp ‘while’ cũng có khả năng thực hiện tất cả công việc giống như vòng lặp ‘for’.
  • Các lệnh giữa ‘do’ và ‘done’ được thực hiện lặp đi lặp lại cho đến khi điều kiện được đánh giá là sai.
  • Các đối số cho một vòng lặp ‘while’ có thể là một biểu thức boolean.

Cách hoạt động
Vòng lặp while là một vòng lặp nhập hẹp. Điều này có nghĩa là điều kiện được kiểm tra trước khi thực hiện các lệnh trong vòng lặp while. Nếu điều kiện được đánh giá là đúng, các lệnh theo sau điều kiện đó sẽ được thực thi. Ngược lại, vòng lặp sẽ kết thúc và điều khiển chương trình sẽ được chuyển sang các lệnh khác sau câu lệnh ‘done’.

Các ví dụ về vòng lặp while trong Bash
Dưới đây là một số ví dụ về vòng lặp while trong Bash:

Vòng lặp while với một điều kiện duy nhất
Trong ví dụ này, vòng lặp while được sử dụng với một điều kiện duy nhất trong biểu thức. Đây là ví dụ cơ bản về vòng lặp while sẽ in ra chuỗi số theo đầu vào của người dùng:

#!/bin/bash  
#Script to get specified numbers  
  
read -p "Enter starting number: " snum  
read -p "Enter ending number: " enum  
  
while [[ $snum -le $enum ]];  
do  
echo $snum  
((snum++))  
done  
  
echo "This is the sequence that you wanted."  

Kết quả

Vòng lặp While với nhiều điều kiện

Dưới đây là một ví dụ về vòng lặp while với nhiều điều kiện trong biểu thức:

Ví dụ:

#!/bin/bash  
#Script to get specified numbers  
  
read -p "Enter starting number: " snum  
read -p "Enter ending number: " enum  
  
while [[ $snum -lt $enum || $snum == $enum ]];  
do  
echo $snum  
((snum++))  
done  
  
echo "This is the sequence that you wanted."  

Kết quả

Vòng lặp While vô hạn

Một vòng lặp vô hạn là một vòng lặp không có điểm kết thúc hoặc kết thúc. Nếu điều kiện luôn đánh giá đúng, nó sẽ tạo ra một vòng lặp vô hạn. Vòng lặp sẽ được thực thi liên tục cho đến khi bị ngừng một cách bắt buộc bằng cách sử dụng CTRL + C :

Ví dụ:

#!/bin/bash  
#An infinite while loop  
  
while :  
do  
echo "Welcome to Javatpoint."  
done  

Chúng ta cũng có thể viết đoạn mã trên trong một dòng duy nhất như sau:

#!/bin/bash  
#An infinite while loop  
  
while :; do echo "Welcome to Javatpoint."; done  

Kết quả

Ở đây, chúng tôi đã sử dụng lệnh tích hợp sẵn (:) luôn trả về giá trị đúng. Chúng ta cũng có thể sử dụng lệnh tích hợp sẵn true để tạo một vòng lặp vô hạn như sau:

Ví dụ:

#!/bin/bash  
#An infinite while loop  
  
while true  
do  
echo "Welcome to Javatpoint"  
done  

Kịch bản bash này cũng sẽ cung cấp cùng đầu ra với một kịch bản vô hạn ở trên.

Vòng lặp while với lệnh Break

Lệnh break có thể được sử dụng để dừng vòng lặp dựa trên điều kiện được áp dụng. Ví dụ:

Ví dụ:

#!/bin/bash  
#While Loop Example with a Break Statement  
  
echo "Countdown for Website Launching..."  
i=10  
while [ $i -ge 1 ]  
do  
if [ $i == 2 ]  
then  
    echo "Mission Aborted, Some Technical Error Found."  
    break  
fi  
echo "$i"  
(( i-- ))  
done  

Theo kịch bản, vòng lặp được gán để lặp lại mười lần. Nhưng sau tám lần lặp, có một điều kiện sẽ ngừng lặp lại và kết thúc vòng lặp. Sau khi thực thi kịch bản, đầu ra sau đây sẽ được hiển thị.

Vòng lặp while với lệnh continue

Lệnh continue có thể được sử dụng để bỏ qua lần lặp cho một điều kiện cụ thể bên trong vòng lặp while.

Ví dụ:

#!/bin/bash  
#While Loop Example with a Continue Statement  
  
i=0  
while [ $i -le 10 ]  
do  
((i++))  
if [[ "$i" == 5 ]];  
then  
    continue  
fi  
echo "Current Number : $i"  
done  
  
echo "Skipped number 5 using Continue Statement."  

Vòng lặp while với kiểu dáng C

Chúng ta cũng có thể viết vòng lặp while trong kịch bản bash giống như vòng lặp while trong ngôn ngữ lập trình C.

Ví dụ:

#!/bin/bash  
#While loop example in C style  
  
i=1  
while((i <= 10))  
do  
echo $i  
let i++  
done  

Kết quả

Kết luận

Trong chủ đề này, chúng ta đã thảo luận về cách sử dụng câu lệnh vòng lặp while trong Bash để thực hiện các tác vụ cụ thể.

LEAVE A REPLY

Please enter your comment!
Please enter your name here

4,956FansLike
256FollowersFollow
223SubscribersSubscribe
spot_img

Related Stories