Computer >> Máy Tính >  >> Lập trình >> Lập trình BASH

Ví dụ về Bash For Loop và While Loop

Giống như bất kỳ ngôn ngữ kịch bản nào khác, Bash cũng hỗ trợ các vòng lặp.

Vòng lặp rất tốt để thực hiện các công việc lặp đi lặp lại. Chúng ta có thể sử dụng các vòng lặp for và vòng lặp while trong các tập lệnh Bash của mình.

Bash For Loop

Cú pháp của vòng lặp for là:

for VARIABLE in PARAM1 PARAM2 PARAM3
do
  // scope of for loop
done

Vòng lặp for sẽ thực thi cho mỗi tham số. Các tham số có thể là số, phạm vi số hoặc chuỗi, v.v.

Ví dụ về Bash For Loop

Ví dụ đơn giản này in các số, từ 1 đến 5 bằng vòng lặp for:

#!/bin/bash

for i in 1 2 3 4 5
do
   echo "$i"
done

Đầu ra:

1
2
3
4
5

Chúng tôi cũng có thể xác định một loạt các số để lặp qua:

Ví dụ:

for i in {1..5}
do
   echo "$i"
done

Đầu ra:

1
2
3
4
5

Bash Loop Through Strings

Chúng ta cũng có thể sử dụng vòng lặp for để lặp qua các tham số chuỗi:

#!/bin/bash

for day in MON TUE WED THU FRI SAT SUN
do
   echo "$day"
done

Đầu ra:

MON
TUE
WED
THU
FRI
SAT
SUN

Bash For Loop - C Style

Chúng ta cũng có thể sử dụng cú pháp kiểu C để viết vòng lặp for. Ví dụ:

#!/bin/bash

for ((i=1; i<=5; i++))
do
  echo "$i"
done

Đầu ra

1
2
3
4
5

Vòng lặp để In Danh sách Tệp trong Thư mục Hiện tại

Để liệt kê tất cả các tệp trong thư mục hiện tại bằng vòng lặp bash for, chúng tôi sử dụng:

#!/bin/bash

for fname in ./
do
  ls -l $fname
done

Bash While Loop

Bash cũng hỗ trợ vòng lặp while. Trong khi các vòng lặp thực thi một tập hợp các lệnh cho đến khi một điều kiện được đánh giá là true.

Cú pháp của vòng lặp Bash while là:

while [condition]
do
  //execute instructions
done

Điều kiện được đánh giá trước khi thực hiện bất kỳ hướng dẫn nào. Do đó, cần phải có một phương tiện cập nhật điều kiện, nếu không, vòng lặp sẽ thực thi mãi mãi.

Ví dụ về Bash While Loop

Sau đây là một vòng lặp while đơn giản in các số từ 1 đến 5. Vòng lặp được kết thúc khi số lớn hơn 5.

#!/bin/bash

num=1
while [ $num -le 5 ]
do
   echo "$num"
   let num++
done

Bash C-Style While Loop

Giống như vòng lặp for, chúng ta cũng có thể viết vòng lặp bash while bằng ngôn ngữ giống như kiểu C.

Ví dụ:

#!/bin/bash

num=1
while((num <= 5))
do
   echo $num
   let num++
done