Opanowanie przepływu kontroli bashu z pęknięciem i kontynuuj
- 970
- 300
- Juliusz Janicki
Bash to potężny język skryptowy, który jest powszechnie używany do zadań automatyzacji i administracji systemu. Jedną z najważniejszych koncepcji w skryptach BASH jest przepływ kontrolny, który odnosi się do sposobu, w jaki skrypt wykonuje różne polecenia na podstawie różnych warunków. Dwa kluczowe instrukcje przepływu sterowania w BASH to pęka i kontynuują, co może pomóc kontrolować wykonywanie kodu i uczynić go bardziej wydajnym.
Co to jest przerwa i kontynuuj w Bash?
Break and Ciąg to dwa instrukcje przepływu kontroli bash, które można użyć do zmiany przepływu pętli lub instrukcji przełącznika. Pozwalają ci wyjść z pętli lub pominąć pewne iteracje na podstawie określonych warunków.
Oto krótki przegląd tego, jak przerwać i kontynuować pracę w Bash:
- przerwa: Po użyciu instrukcji w pętli lub przełącznika, Break natychmiast wyjdzie z instrukcji pętli lub przełącznika i będzie kontynuował wykonywanie skryptu z następnego polecenia po instrukcji pętli lub przełącznika.
- Kontynuować: Zastosowanie w pętli, kontynuuj pominięcie bieżącej iteracji i przejdzie do następnej iteracji. Innymi słowy, pozwala ci pominąć pewne iteracje na podstawie określonych warunków.
Zarówno Break, jak i Kontynuacja może być przydatna do poprawy wydajności skryptów Bash, ponieważ pozwalają one kontrolować wykonanie kodu i unikać niepotrzebnych iteracji.
Używając przerwy w Bash
Zacznijmy od patrzenia na to, jak używać przerwy w Bash. Break jest powszechnie używany w instrukcjach pętli i przełączników w celu natychmiastowego wyjścia z pętli lub instrukcji przełącznika, gdy spełniony jest określony warunek.
Oto przykład, jak używać przerwy w pętli:
#!/bin/bash dla i in 1… 10 do if [$ i -eq 5], a następnie złam fi echo $ Zrobiłem echo „pętla”12345678910111213 | #!/bin/bash dla i in 1… 10 do if [$ i -eq 5], a następnie złam fi echo $ idone echo „pętla” |
W tym przykładzie mamy pętlę dla iternuje wartości i od 1 do 10. Dodaliśmy jednak oświadczenie IF, które sprawdza, czy I jest równe 5. Jeśli wynosi 5, użyjemy instrukcji Break, aby natychmiast wyjść z pętli.
Jeśli uruchomimy ten skrypt, zobaczymy następujące dane wyjściowe:
Wyjście 1 2 3 4 Pętla zakończona
Jak widać, pętla tylko do 4 przed wyjściem z powodu stwierdzenia przerwy.
Korzystanie z Kontynuuj w Bash
Następnie spójrzmy na to, jak używać Kontynuuj w Bash. Kontynuacja jest używana w pętlach do pomijania niektórych iteracji na podstawie określonych warunków.
Oto przykład tego, jak używać, kontynuuj w pętli:
#!/bin/bash dla i in 1… 10 do if [$ i -eq 5], a następnie kontynuuj fi echo $ Zrobiłem echo „pętla kompletna”12345678910111213 | #!/bin/bash dla i in 1… 10 do if [$ i -eq 5], a następnie kontynuuj echo $ idone echo „pętla” |
W tym przykładzie mamy pętlę dla iternuje wartości i od 1 do 10. Dodaliśmy jednak oświadczenie IF, które sprawdza, czy I jest równe 5. Jeśli wynosi 5, użyjemy instrukcji Kontynuuj, aby pominąć tę iterację i przejdź do następnej iteracji.
Jeśli uruchomimy ten skrypt, zobaczymy następujące dane wyjściowe:
Wyjście 1 2 3 4 6 7 8 9 10 Pętla zakończona
Jak widać, pętla pominęła iterację, w której „ja” był równy 5 i kontynuował wraz z resztą iteracji.
Korzystanie z Break i kontynuuj instrukcje przełączników
Oprócz pętli, pęknięcie i kontynuowanie można również użyć w instrukcjach przełączników w BASH.
Oto przykład używania przerwy w instrukcji Switch:
#!/bin/bash case 1 $ na start) echo „Uruchamianie” ;; Stop) echo „zatrzymanie usługi” ;; restart) echo „Ustalanie usługi” ;; *) echo „nieprawidłowa opcja” przerwa ;; ESAC ECHO „Instrukcja przełącznika kompletna”12345678910111213141516171819202122 | #!/bin/bash case 1 $ na start) echo „Uruchamianie” ;; Stop) echo „zatrzymanie usługi” ;; restart) echo „Ustalanie usługi” ;; *) echo „nieprawidłowa opcja” Break ;; ESAC ECHO „Instrukcja przełączania zakończona” |
W tym przykładzie mamy instrukcję przełącznika, która sprawdzi wartość pierwszego argumentu wiersza polecenia (1 USD). Jeśli 1 USD jest równe „Start”, „Stop” lub „Restart”, wykona odpowiednie polecenie. Jeśli 1 USD nie jest równe żadnej z tych wartości, wyświetli komunikat o błędzie i użyje instrukcji Break, aby wyjść z instrukcji przełącznika.
Jeśli uruchomimy ten skrypt z poleceniem ./myscript.SH INWALID, zobaczymy następujące dane wyjściowe:
Wyjście Nieprawidłowa instrukcja przełącznika opcji
Jak widać, skrypt wyświetla komunikat o błędzie, a następnie wychodzi z instrukcji przełącznika za pomocą instrukcji Break.
Oto przykład, jak używać, kontynuuj w instrukcji przełącznika:
#!/bin/bash case 1 $ na start) echo „Uruchamianie” ;; Stop) echo „zatrzymanie usługi” ;; restart) echo „Ustalanie usługi” ;; *) Kontynuować ;; ESAC ECHO „Instrukcja przełącznika kompletna”123456789101112131415161718192021 | #!/bin/bash case 1 $ na start) echo „Uruchamianie” ;; Stop) echo „zatrzymanie usługi” ;; restart) echo „Ustalanie usługi” ;; *) Kontynuuj ;; ESAC ECHO „Instrukcja przełącznika kompletna” |
W tym przykładzie zmodyfikowaliśmy poprzedni skrypt, aby użyć instrukcji kontynuowania zamiast przerwy. Jeśli 1 USD nie jest równe żadnej z oczekiwanych wartości, skrypt po prostu pominie tę iterację instrukcji przełącznika i przejdzie do następnej iteracji.
Jeśli uruchomimy ten skrypt z poleceniem ./myscript.SH INWALID, zobaczymy następujące dane wyjściowe:
Instrukcja przełącznika wyjściowego zakończona
Jak widać, skrypt po prostu pominął iterację, w której 1 USD był nieprawidłowy i kontynuował wraz z resztą skryptu.
Wniosek
W tym samouczka. Te stwierdzenia są potężnymi narzędziami do kontrolowania wykonywania kodu i poprawy wydajności skryptów. Korzystając z Break i kontynuowanie, możesz stworzyć bardziej solidne i wydajne skrypty bash, które mogą obsługiwać różne zadania i scenariusze.