Cú pháp của vòng lặp while:
trong khi [tình trạng]làm
lệnh
xong
Khối bắt đầu và kết thúc của trong khi vòng lặp được xác định bởi làm và xong từ khóa trong tập lệnh bash. Điều kiện kết thúc được xác định khi bắt đầu vòng lặp. Mở trình soạn thảo văn bản để viết tập lệnh bash và kiểm tra các ví dụ sau về vòng lặp while.
Ví dụ-1: Lặp lại vòng lặp cho số lần cố định
Tạo một tệp bash có tên while1.sh trong đó có tập lệnh sau.
n=1
trong khi [ $ n -NS 5 ]
làm
quăng đi 'Đang chạy$ nthời gian'
((n ++))
xong
Trong ví dụ này, vòng lặp sẽ lặp lại 5 lần và in văn bản được xác định bên trong vòng lặp. Kết quả sau sẽ xuất hiện nếu bạn chạy while1.sh .
Ví dụ-2: Sử dụng câu lệnh break để thoát có điều kiện
nghỉ câu lệnh được sử dụng để thoát khỏi vòng lặp sớm dựa trên một điều kiện cụ thể. Tạo một tệp bash mới có tên while2.sh với đoạn mã sau.
n=1trong khi [ $ n -NS 10 ]
làm
nếu như [ $ n==6 ]
sau đó
quăng đi 'chấm dứt'
nghỉ
thì là ở
quăng đi 'Chức vụ:$ n'
((n ++))
xong
Trong ví dụ này, vòng lặp được khai báo để lặp lại 10 lần. Theo kịch bản, nó sẽ kết thúc sau 6 lần lặp lại cho câu lệnh break. Kết quả sau sẽ xuất hiện sau khi thực thi tập lệnh.
Ví dụ-3: Sử dụng câu lệnh continue để bỏ qua bước cụ thể
Tạo một tệp bash mới có tên while3.sh với đoạn mã sau.
n=0trong khi [ $ n -NS 5 ]
làm
((n ++))
nếu như [ $ n==3 ]
sau đó
tiếp tục
thì là ở
quăng đi 'Chức vụ:$ n'
xong
Trong ví dụ này, vòng lặp sẽ lặp lại 5 lần nhưng nó sẽ không in ra tất cả 5 vị trí. Khi nào vòng lặp sẽ lặp lại trong 3rdlần sau đó câu lệnh continue sẽ được thực hiện và vòng lặp sẽ diễn ra cho lần lặp tiếp theo mà không in văn bản của 3rdChức vụ. Kết quả sau sẽ xuất hiện sau khi thực thi tập lệnh.
Ví dụ-4: Tạo vòng lặp vô hạn
Đôi khi, yêu cầu khai báo vòng lặp vô hạn cho các mục đích lập trình khác nhau. Tạo một tệp bash mới có tên while4.sh và kiểm tra mã của vòng lặp vô hạn.
n=1trong khi:
làm
printf 'Giá trị hiện tại của n =$ n '
nếu như [ $ n==3 ]
sau đó
quăng đi 'tốt'
elif [ $ n==5 ]
sau đó
quăng đi 'tồi tệ'
elif [ $ n==7 ]
sau đó
quăng đi 'xấu xí'
elif [ $ n==10 ]
sau đó
lối ra 0
thì là ở
((n ++))
xong
Không có điều kiện kết thúc nào được đặt cho vòng lặp trong ví dụ này. Loại vòng lặp này được gọi là vòng lặp vô hạn. Ở đây, câu lệnh exit được sử dụng để thoát khỏi vòng lặp vô hạn. Vì vậy, vòng lặp này sẽ lặp lại 10 lần và khi giá trị của lần lặp trở nên bằng 10 thì câu lệnh exit sẽ thực hiện để thoát khỏi vòng lặp vô hạn.