Trong bài viết này, chúng ta sẽ xem xét cách sử dụng break và tiếp tục trong các tập lệnh bash. Trong bash, chúng tôi có ba cấu trúc vòng lặp chính ( for , trong khi , cho đến khi ). Giải lao và tiếp tục các câu lệnh là nội trang bash và được sử dụng để thay đổi luồng của các vòng lặp của bạn. Khái niệm ngắt và tiếp tục này có sẵn trong các ngôn ngữ lập trình phổ biến như Python .
$ type -a break continue
Thoát khỏi vòng lặp với Câu lệnh ngắt
break câu lệnh sẽ thoát ra khỏi vòng lặp và quyền điều khiển được chuyển cho câu lệnh tiếp theo trong vòng lặp. Bạn có thể chạy trợ giúp lệnh để nhận một số thông tin về break tuyên bố.
$ help break
Cú pháp cơ bản của ngắt.
$ break [n] n is optional
Hãy xem ví dụ dưới đây. Đây là một vòng lặp for đơn giản lặp qua một phạm vi giá trị từ 1 đến 20 theo từng bước tăng dần là 2. Câu lệnh điều kiện sẽ đánh giá biểu thức và khi nó là true ($ val =9) sau đó nó sẽ chạy câu lệnh break và vòng lặp sẽ được kết thúc bỏ qua các lần lặp còn lại.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then break else echo "printing ${val}" fi done
Bỏ qua lặp lại với câu lệnh tiếp tục
Điều gì sẽ xảy ra nếu bạn không muốn thoát hoàn toàn khỏi vòng lặp nhưng lại bỏ qua khối mã khi một điều kiện nhất định được đáp ứng? Điều này có thể được thực hiện bằng cách tiếp tục bản tường trình. Tiếp tục câu lệnh sẽ bỏ qua việc thực thi khối mã khi một điều kiện nhất định được đáp ứng và điều khiển được chuyển trở lại câu lệnh lặp cho lần lặp tiếp theo.
Để truy cập trợ giúp.
$ help continue
Hãy xem ví dụ dưới đây. Đây là ví dụ tương tự mà chúng tôi đã sử dụng để chứng minh câu lệnh break. Bây giờ khi Val được đánh giá là chín thì tiếp tục câu lệnh sẽ bỏ qua tất cả các khối mã còn lại và chuyển điều khiển cho vòng lặp for cho lần lặp tiếp theo.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then continue fi echo "printing ${val}" done
Nếu bạn biết python sau đó phá vỡ và tiếp tục hành vi cũng giống như trong python. Nhưng python cung cấp thêm một câu lệnh điều khiển vòng lặp được gọi là pass .
Vượt qua giống như một null và trình thông dịch sẽ đọc nó nhưng sẽ không thực hiện bất kỳ thao tác nào. Nó chỉ đơn giản là kết quả không có hoạt động. Bash không cung cấp một tuyên bố tương tự nhưng chúng tôi có thể mô phỏng hành vi này bằng cách sử dụng từ khóa true hoặc dấu hai chấm (:) . Cả true và dấu hai chấm đều là nội trang của shell và không thực hiện bất kỳ thao tác nào.
$ type -a : true
Hãy xem ví dụ dưới đây. Khi có điều kiện câu lệnh được đánh giá là true ($ val =9) thì true câu lệnh sẽ không làm gì cả và vòng lặp sẽ tiếp tục.
#!/usr/bin/bash for val in {1..20..2} do If [[ $val -eq 9 ]] then true fi echo "printing ${val}" done
Đó là nó cho bài viết này. Chúng tôi rất muốn nghe phản hồi có giá trị của bạn và bất kỳ mẹo nào bạn có.