Jak zrobić pętlę w skrypcie ZSH

Jak zrobić pętlę w skrypcie ZSH
Każdy sysadmin powinien wiedzieć, jak wdrożyć skrypty do automatyzacji przepływu pracy. Chociaż mamy wiele narzędzi automatyzacji, takich jak Ansible, skrypty pozostają krytycznym narzędziem do automatyzacji zadań w świecie Linux.

W tym samouczku przyjrzy się Loops, fundamentalnej koncepcji w zakresie scenariuszy i programowania w ogóle. W szczególności skupimy się na działaniach związanych z pętlami.

Dla podstawowej struktury pętli

Zanim skrypujemy przykłady pętli, omówmy strukturę. W przypadku pętli przyjmuj ogólną składnię:

Do W
Do

zrobione

Możesz przekazać listę elementów, takich jak tablica, seria literałów smyczkowych (oddzielona przestrzeniami) lub zakres liczb.

Rozważmy teraz kilka przykładów i zilustruj, jak działają pętle.

Przykład 1

Rozważ przykład pokazany poniżej. Pętamy na liście wartości ciągów i drukujemy bieżący ciąg w pętli.

#!/usr/bin/zsh
do picia w wodzie w Water Tea Coffee Wine
Do
Echo „Drink: $ Drink”
zrobione

Po uruchomieniu skryptu należy zobaczyć każdy element na wydrukowanej liście, jak pokazano w poniższym przykładzie:

$ ./Do.cii
Pij wodę
Pić herbatę
Pić kawę
Pić wino

Przykład 2

Możesz także określić wartość listy w pętli dla dla sekwencji liczb. Robisz to, ustawiając wartości startowe i kończące. Składnia jest poniżej:

Początek Koniec

Weźmy przykład pętli poniżej, aby pętli wartości 10 razy.

#!/usr/bin/zsh
bo w 1… 10
Do
Echo „Numer: $ i”
zrobione

Powinieneś uzyskać wszystkie liczby od 1 do 10 wydrukowane na terminalu.

Numer 1
Numer 2

Numer: 8
Numer 9
Numer: 10

Przykład 3

W niektórych przypadkach przy użyciu zakresu liczb należy pominąć wartości w określonym przedziale. Na przykład, aby wydrukować liczby parzyste od 10 do 20, będziesz musiał użyć interwału 2.

Możesz to zrobić, określając przyrost jako trzeci argument zakresów liczb.

Składnia to:

Rozpocznij… koniec… przyrost

Poniżej znajduje się przykładowy kod:

#!/usr/bin/zsh
bo w 10… 20… 2
Do
Echo „Numer: $ i”
zrobione

Powyższy przykładowy kod powinien wydrukować wszystkie liczby równe od 10 do 20. Poniżej znajduje się przykład wyjścia:

Numer: 10
Numer: 12

Numer: 20

Przykład 4

Innym powszechnym przypadkiem użycia pętli jest iteracja nad szeregiem przedmiotów. Rozważ przykład pokazany poniżej:

#!/usr/bin/zsh
bazy danych = („mysql” „postgresql” „MongoDB” „redis” „fauna” „karaluch db”)
dla db w „$ bazy danych [@]”; do
Echo „Baza danych: $ db”
zrobione

Powyższa pętla iteruje każdy element w tablicy i wydrukuje.

Baza danych: MySQL
Baza danych: PostgreSQL

Baza danych: Fauna
Baza danych: DBak karaluch

Złam i kontynuuj oświadczenia

Możesz także użyć przerwy i kontynuować słowa kluczowe do kontrolowania przepływu pętli wewnątrz skryptu ZSH.

Zacznijmy od słowa kluczowego Break.

Break Słowo kluczowe

Możesz użyć słowa kluczowego Break, aby zakończyć bieżący przepływ pętli i przekazać kontrolę do następującego bloku. Głównym zastosowaniem tego jest zakończenie przepływu pętli, jeśli określony warunek jest prawdziwy.

Na przykład:

#!/usr/bin/zsh
dla db w mysql postgresql mongoodb redis fauna karaluch; do
jeśli [[„$ db” == 'MongoDB']]; Następnie
przerwa
fi
Echo „Baza danych: $ db”
zrobione

W powyższym przykładzie zapętlimy się nad elementem i przełamujemy przepływ pętli, jeśli bieżącym elementem jest MongoDB.

Oto przykład wyjścia:

Baza danych: MySQL
Baza danych: PostgreSQL

Kontynuuj słowo kluczowe

Z drugiej strony słowo kluczowe Kontynuuj wychodzi z bieżącej iteracji pętli i przechodzi do następnej iteracji.

Na przykład:

#!/usr/bin/zsh
Dla I in 1… 10; Do
jeśli [[„$ i” == '5']]; Następnie
Kontynuować
fi
Echo „Numer: $ i”
zrobione

Gdy pętla znajdzie się na piątej iteracji, przeskakuje i przeskakuje do następnej wartości w zakresie. Taka funkcjonalność doprowadzi do nie wydrukowania piątej wartości.

Wniosek

W tym samouczku omówiono, jak wdrożyć pętle w skrypcie ZSH. Należy zauważyć, że ZSH jest oparty na BASH; Dlatego funkcjonalność pętli utworzona dla BASH będzie również działać dla ZSH.