Vòng lặp while trong Shell

Vòng lặp while cho bạn khả năng thực thi một tập hợp các lệnh lặp đi lặp lại cho tới khi một số điều kiện xảy ra. Nó thường được sử dụng khi bạn cần thao tác giá trị biến lặp đi lặp lại.

Cú pháp trong Unix/Linux

while command
do
   cac lenh de thuc thi neu command la true
done

Ở đây, command được ước lượng. Nếu giá trị kết quả là true, các lệnh được thực thi. Nếu command là false, thì sau đó, các statement(s) sẽ không được thực hiện và chương trình sẽ nhảy tới dòng lệnh sau lệnh done.

Ví dụ trong Unix/Linux

Dưới đây là một ví dụ đơn giản mà sử dụng vòng lặp while để hiển thị các số từ 0 đến 9.

#!/bin/sh

a=0

while [ $a -lt 10 ]
do
   echo $a
   a=`expr $a + 1`
done

Nó sẽ cho kết quả sau:

0
1
2
3
4
5
6
7
8
9

Cứ mỗi lần vòng lặp này thực thi, biến a được kiểm tra để biết có hay không nó có giá trị là nhỏ hơn 10. Nếu giá trị của a là nhỏ hơn 10, điều kiện này có một trạng thái thoát là 0. Trong trường hợp này, giá trị hiện tại của biến a được hiển thị và sau đó, a được lượng gia thêm 1.