Bash Script cho Loop - được giải thích với các ví dụ

Trong tập lệnh Bash, một vòng lặp là một cấu trúc điều khiển cho phép bạn liên tục thực hiện một khối mã dựa trên các điều kiện cụ thể. Vòng lặp "cho" là một trong những vòng lặp được sử dụng phổ biến nhất trong kịch bản bash. Nó cung cấp một cách dễ dàng để lặp lại một danh sách các mục hoặc thực hiện một hành động cụ thể một số lần nhất định.

Cấu trúc cơ bản của một vòng lặp

Bash Script cho Loop: Được giải thích với các ví dụ

Một vòng lặp "cho" trong tập lệnh bash có cấu trúc sau:

Đối với biến trong danh sách LÀM & nbsp; & nbsp; & nbsp; & nbsp; lệnh xong

Vòng lặp bắt đầu bằng cách khởi tạo một biến, thường được gọi là biến "hiện tại" hoặc "iterator". Sau đó, nó chỉ định một danh sách các mục mà vòng lặp sẽ lặp lại. Vòng lặp sẽ thực thi các lệnh được chỉ định cho mỗi mục trong danh sách cho đến khi nó đi đến cuối.

Ví dụ 1: Lặp lại các số

Trong ví dụ này, chúng ta hãy tạo một tập lệnh bash in các số từ 1 đến 5 bằng cách sử dụng một vòng lặp "cho" "

#!/Bin/bash for ((i = 1; i<=5; i++)) LÀM & nbsp; & nbsp; & nbsp; & nbsp; echo $ i xong

Kịch bản sẽ lặp lại các số từ 1 đến 5, tăng biến "I" bằng 1 với mỗi lần lặp, sau đó in giá trị hiện tại của "I" sử dụng lệnh "Echo".

Ví dụ 2: lặp lại các tệp trong thư mục

Vòng lặp "cho" cũng có thể được sử dụng để lặp lại các tệp trong một thư mục. Trong ví dụ này, chúng tôi sẽ liệt kê tất cả các tệp trong thư mục hiện tại:

#!/Bin/bash cho tệp trong * LÀM & nbsp; & nbsp; & nbsp; & nbsp; echo $ file xong

Biểu tượng "*" hoạt động như một ký tự đại diện và khớp với tất cả các tệp trong thư mục hiện tại. Vòng lặp sẽ lặp lại trên mỗi tên tệp và in nó bằng lệnh "Echo".

Ví dụ 3: Lặp lại các phần tử mảng

Trong kịch bản bash, bạn có thể xác định các mảng để lưu trữ nhiều giá trị. Vòng lặp "cho" có thể được sử dụng để lặp lại các phần tử của một mảng. Hãy lặp lại một loạt các loại trái cây:

#!/Bin/bash trái cây = ("táo" "chuối" "anh đào")) for fruit in ${fruits[@]} LÀM & nbsp; & nbsp; & nbsp; & nbsp; echo $ trái cây xong

Vòng lặp sẽ lặp lại trên từng phần tử của mảng "trái cây" và in nó bằng lệnh "tiếng vang".

Mẹo nâng cao để sử dụng cho các vòng lặp

Mẹo nâng cao để sử dụng cho các vòng lặp

Dưới đây là một số mẹo và thủ thuật bổ sung để tăng cường cách sử dụng các vòng lặp "cho" trong kịch bản bash:

1. tiếp tục vòng lặp

Trong một số tình huống, bạn có thể muốn bỏ qua lần lặp hiện tại của một vòng lặp dựa trên các điều kiện nhất định. Bạn có thể sử dụng câu lệnh "Tiếp tục" để đạt được điều này. Đây là một ví dụ:

#!/Bin/bash for ((i = 1; i<=10; i++)) LÀM & nbsp; & nbsp; & nbsp; & nbsp; if ((i % 2 == 0)) & nbsp; & nbsp; & nbsp; & nbsp; sau đó & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; & nbsp; tiếp tục & nbsp; & nbsp; & nbsp; & nbsp; fi & nbsp; & nbsp; & nbsp; & nbsp; echo $ i xong

Vòng lặp sẽ lặp lại các số từ 1 đến 10, nhưng nó sẽ bỏ qua việc in các số thậm chí bằng cách sử dụng câu lệnh "Tiếp tục" trong điều kiện "IF".

2. Đổi tên các tệp với vòng lặp For For

2. Đổi tên các tệp với vòng lặp For For

Vòng lặp "cho" cũng có thể được sử dụng để đổi tên các tệp trong một thư mục. Dưới đây là một ví dụ đổi tên tất cả các tệp ". txt" trong một thư mục với tiện ích mở rộng ". bak":

#!/Bin/bash cho tệp trong *. txt LÀM     mv "$file" "${file%.txt}.bak" xong

Vòng lặp sẽ lặp lại trên tất cả các tệp ". txt" trong thư mục và đổi tên từng tệp bằng cách xóa phần mở rộng ". txt" và thêm ". bak" sử dụng lệnh "MV".

Phần kết luận

Vòng lặp "for" là một cấu trúc mạnh mẽ trong tập lệnh bash cho phép bạn thực hiện các lần lặp và thực hiện các tác vụ lặp đi lặp lại. Cho dù bạn là người mới bắt đầu hay lập trình viên bash nâng cao, sự hiểu biết và sử dụng hiệu quả vòng lặp "cho" có thể nâng cao đáng kể khả năng kịch bản của bạn. Thử nghiệm với các ví dụ khác nhau và khám phá các cách sáng tạo để sử dụng "cho" các vòng lặp trong các tập lệnh bash của bạn.

Tác giả: Ẩn danh

Cho các mẹo vòng lặp

Cho các mẹo vòng lặp

Trong kịch bản bash,Loop là một công cụ mạnh mẽ cho phép bạn tự động hóa các tác vụ lặp đi lặp lại. Phần này sẽ cung cấp cho bạn một số mẹo và thủ thuật hữu ích để sử dụng hiệu quảVòng lặp trong kịch bản của bạn.

  • Sử dụng phạm vi số: Bằng cách sử dụng cú pháp dựa trên phạm vi, bạn có thể dễ dàng tạo một vòng lặp lặp lại trên một chuỗi số. Ví dụ:
for num in {1..5}
do
Echo "Số: $ num"
xong
  • Vòng lặp qua danh sách các mục: Thay vì sử dụng phạm vi số, bạn cũng có thể sử dụng danh sách các mục làm mục tiêu của vòng lặp. Ví dụ:
trái cây = ("táo" "chuối" "anh đào" "quả việt quất"))
for fruit in ${fruits[@]}
do
Echo "Trái cây: $ trái cây"
xong
  • Tránh các vòng lặp lồng nhau: Các vòng lặp lồng nhau có thể nhanh chóng trở nên phức tạp và khó duy trì. Nếu có thể, hãy cố gắng tái cấu trúc mã của bạn để tránh sử dụng các vòng lặp lồng nhau.
  • Kiểm tra sự hiện diện của các tệp: bạn có thể sử dụng-fcờ vớiifTuyên bố để kiểm tra xem một tệp có tồn tại trước khi thực hiện các lệnh nhất định trong vòng lặp không.
  • Tên tệp thay thế: Nếu bạn cần làm việc với một loạt các tệp theo một mẫu đặt tên cụ thể, bạn có thể sử dụng các ký tự đại diện hoặc biểu thức thông thường để tạo danh sách các tên tệp và lặp lại chúng.
  • Sử dụng các điều kiện thoát sớm: Nếu bạn muốn vòng lặp chấm dứt trước khi hoàn thành tất cả các lần lặp, bạn có thể sử dụngphá vỡhoặcTiếp tụctuyên bố để thoát khỏi vòng lặp sớm.
  • Giữ nội dung vòng lặp đơn giản: Để cải thiện khả năng đọc và khả năng bảo trì, nên giữ cơ thể của vòng lặp càng ngắn và súc tích càng tốt. Nếu bạn thấy mình viết mã phức tạp và dài trong vòng lặp, hãy xem xét việc tái cấu trúc nó thành các chức năng riêng biệt.

Bằng cách làm theo các mẹo này, bạn có thể viết các tập lệnh bash sạch sẽ và hiệu quả để sử dụng hiệu quảVòng lặp cho mục đích tự động hóa và lập trình.

Hãy đưa những lời khuyên này vào thực tế với một số ví dụ:

  • Ví dụ 1: Vòng lặp qua một loạt các số và in giá trị:
for i in {1..5}
do
Echo "Giá trị: $ i"
xong
  • Ví dụ 2: Vòng lặp qua danh sách các tệp và thực hiện các hành động trên mỗi tệp:
file = ("file1. txt" "file2. txt" "file3. txt")
for file in ${files[@]}
do
Echo "Tệp xử lý: $ File"
# Thực hiện các hành động trên tệp
xong

Kết luận,Loop là một cấu trúc đa năng trong kịch bản bash cho phép bạn tự động hóa các tác vụ lặp đi lặp lại. Với cách tiếp cận đúng đắn và những lời khuyên này trong tâm trí, bạn có thể sử dụng hiệu quảVòng lặp cho một loạt các kịch bản lập trình và tự động hóa.