Instrukcje zapętlające w skryptach powłoki: Istnieją w sumie 3 instrukcje pętlowe, których można używać w programowaniu w bashu
Spis treści
- Instrukcja `while' w skrypcie powłoki w systemie Linux
- Instrukcja „for” w skrypcie powłoki w systemie Linux
- Instrukcja „until” w skrypcie powłoki w systemie Linux
- Przykłady instrukcji zapętlających
Aby zmienić przebieg instrukcji pętli, używane są dwa polecenia:
- przerwa
- Kontynuować
Ich opisy i składnia są następujące:
Instrukcja `while' w skrypcie powłoki w systemie Linux
Tutaj polecenie jest oceniane i na podstawie wynikowej pętli zostanie wykonane, jeśli polecenie zostanie podniesione do wartości false, pętla zostanie zakończona To.
#/bin/bash while do done>
Implementacja pętli „While” w skrypcie powłoki.
Najpierw tworzymy plik za pomocą edytora tekstu w systemie Linux. W tym przypadku używamy edytora `vim`.
vim looping.sh>
Możesz zastąpić plik Looping.sh żądaną nazwą.
Następnie sprawiamy, że nasz skrypt jest wykonywalny za pomocą polecenia `chmod` w systemie Linux.
chmod +x looping.sh>
#/bin/bash
a=0
# lt jest mniejsze niż operator
int ciąg znaków Java#Iteruj pętlę, aż liczba będzie mniejsza niż 10
podczas gdy [ $a -lt 10 ]
Do
# Wydrukuj wartości
echo $a
# zwiększ wartość
a=`wyrażenie $a + 1`
zrobione
Wyjście:

Podczas gdy Loop w systemie Linux
Wyjaśnienie:
-
#/bin/bash>: Określa, że skrypt powinien być interpretowany przy użyciu powłoki Bash. -
a=0>: Inicjuje zmiennąa>z wartością 0. -
while [ $a -lt 10 ]>: Inicjuje pętlę while, która trwa tak długo, jak wartośća>jest mniejsza niż 10. -
do>: Zaznacza początek treści pętli. -
echo $a>: Drukuje bieżącą wartośća>konsola. -
a=>wyrażenie $a + 1 : Zwiększa wartośća>o 1. Theexpr>polecenie służy do wyrażeń arytmetycznych. -
done>: Oznacza koniec pętli.
Instrukcja „for” w skrypcie powłoki w systemie Linux
Pętla for działa na listach elementów. Powtarza zestaw poleceń dla każdego elementu na liście.
Tutaj var jest nazwą zmiennej, a słowo1 do słowaN to ciągi znaków oddzielonych spacjami (słowa). Za każdym razem, gdy wykonywana jest pętla for, wartość zmiennej var jest ustawiana na następne słowo na liście słów, od słowa 1 do słowa N.
Składnia:
#/bin/bash for in do done>
Implementacja pętli „for” z instrukcją „break” w skrypcie powłoki.
Najpierw tworzymy plik za pomocą edytora tekstu w systemie Linux. W tym przypadku używamy edytora `vim`.
vim for.sh>
Możesz zastąpić for.sh żądaną nazwą.
Następnie sprawiamy, że nasz skrypt jest wykonywalny za pomocą polecenia `chmod` w systemie Linux.
chmod +x for.sh>
#/bin/bash
#Początek pętli for
dla a w 1 2 3 4 5 6 7 8 9 10
Do# jeśli a jest równe 5, przerwij pętlę
jeśli [ $a == 5 ]
Następnie
przerwa
Być# Wydrukuj wartość
echo Iteracja nr $a
zrobione
Wyjście:

Instrukcja Break w for Loop w systemie Linux
Wyjaśnienie:
#/bin/bash>: Określa, że skrypt powinien być interpretowany przy użyciu powłoki Bash.for a in 1 2 3 4 5 6 7 8 9 10>: Inicjuje pętlę for, która iteruje po wartościach od 1 do 10, przypisując każdą wartość do zmienneja>w każdej iteracji.do>: Zaznacza początek treści pętli.if [ $a == 5 ]>: Sprawdza, czy bieżąca wartośća>jest równe 5.then>: Zaznacza początek bloku warunkowego, który ma zostać wykonany, jeśli warunek jest spełniony.break>: Wychodzi z pętli, jeśli warunek jest spełniony.
fi>: Zaznacza koniec bloku warunkowego.
echo 'Iteration no $a'>: Drukuje komunikat wskazujący numer bieżącej iteracji.done>: Oznacza koniec pętli.
Skrypt tworzy pętlę for, która iteruje po wartościach od 1 do 10. Podczas każdej iteracji sprawdza, czy wartośća>jest równa 5. Jeśli tak, pętla jest opuszczana za pomocąbreak>oświadczenie. W przeciwnym razie wypisuje komunikat wskazujący numer bieżącej iteracji. Pętla trwa do momentu zakończenia wszystkich iteracji lub napotkania instrukcji break.
Implementacja pętli „for” z instrukcją „kontynuuj” w skrypcie powłoki.
Najpierw tworzymy plik za pomocą edytora tekstu w systemie Linux. W tym przypadku używamy edytora `vim`.
vim for_continue.sh>
Możesz zastąpić for_continue.sh żądaną nazwą.
Następnie sprawiamy, że nasz skrypt jest wykonywalny za pomocą polecenia `chmod` w systemie Linux.
chmod +x for_continue.sh>
#/bin/bash
dla a w 1 2 3 4 5 6 7 8 9 10
Do# jeśli a = 5, kontynuuj pętlę i
# nie przechodź do linii 8główny program w Javiejeśli [ $a == 5 ]
Następnie
Kontynuować
Być
echo Iteracja nr $a
zrobione
Wyjście:

kontynuuj instrukcję w pętli for w systemie Linux
Wyjaśnienie:
co robi Ravel w Pythonie
-
#/bin/bash>: Określa, że skrypt powinien być interpretowany przy użyciu powłoki Bash. -
for a in 1 2 3 4 5 6 7 8 9 10>: Inicjuje pętlę for, która iteruje po wartościach od 1 do 10, przypisując każdą wartość do zmienneja>w każdej iteracji. -
do>: Zaznacza początek treści pętli. -
if [ $a == 5 ]>: Sprawdza, czy bieżąca wartośća>jest równe 5.-
then>: Zaznacza początek bloku warunkowego, który ma zostać wykonany, jeśli warunek jest spełniony.-
continue>: Pomija resztę treści pętli i przechodzi do następnej iteracji, jeśli warunek jest spełniony.
-
-
fi>: Zaznacza koniec bloku warunkowego.
-
-
echo 'Iteration no $a'>: Drukuje komunikat wskazujący numer bieżącej iteracji. Ta linia jest pomijana ifa>jest równa 5 ze względu nacontinue>oświadczenie. -
done>: Oznacza koniec pętli.
Skrypt tworzy pętlę for, która iteruje po wartościach od 1 do 10. Podczas każdej iteracji sprawdza, czy wartośća>jest równa 5. Jeśli tak, pętla przechodzi do następnej iteracji bez wykonywania pozostałych instrukcji w treści pętli. W przeciwnym razie wypisuje komunikat wskazujący numer bieżącej iteracji. Pętla trwa aż do zakończenia wszystkich iteracji.
Instrukcja „until” w skrypcie powłoki w systemie Linux
Pętla dopóki jest wykonywana tyle razy, ile warunek/polecenie ma wartość fałszywą. Pętla kończy się, gdy warunek/polecenie stanie się prawdziwy.
Składnia:
#/bin/bash until do done>
Implementacja pętli „until” w skrypcie powłoki
Najpierw tworzymy plik za pomocą edytora tekstu w systemie Linux. W tym przypadku używamy edytora `vim`.
vim until.sh>
Możesz wymienić do. sh z żądaną nazwą.
Następnie sprawiamy, że nasz skrypt jest wykonywalny za pomocą polecenia `chmod` w systemie Linux.
chmod +x until.sh>
#/bin/bash
a=0
# -gt jest większe niż operator
#Iteruj pętlę, aż a będzie większe niż 10do [ $a -gt 10 ]
Do# Wydrukuj wartości
echo $a# zwiększ wartość
a=`wyrażenie $a + 1`
zrobione
Wyjście:

Do pętli w systemie Linux
Wyjaśnienie:
-
#/bin/bash>: Określa, że skrypt powinien być interpretowany przy użyciu powłoki Bash. -
a=0>: Inicjuje zmiennąa>z wartością 0. -
until [ $a -gt 10 ]>: Inicjuje pętlę dopóki, która trwa tak długo, jak wartośća>nie jest większa niż 10. -
do>: Zaznacza początek treści pętli. -
echo $a>: Drukuje bieżącą wartośća>konsola. -
a=>wyrażenie $a + 1 : Zwiększa wartośća>o 1. Theexpr>polecenie służy do wyrażeń arytmetycznych. -
done>: Oznacza koniec pętli.
Notatka: W skryptach powłoki rozróżniana jest wielkość liter, co oznacza, że podczas pisania skryptów należy przestrzegać właściwej składni.
Przykłady instrukcji zapętlających
1. Iteracja po kolorach za pomocą pętli For
Najpierw tworzymy plik za pomocą edytora tekstu w systemie Linux. W tym przypadku używamy edytora `vim`.
vim color.sh>
Możesz zastąpić color.sh żądaną nazwą.
Następnie sprawiamy, że nasz skrypt jest wykonywalny za pomocą polecenia `chmod` w systemie Linux.
chmod +x color.sh>
#/bin/bash
KOLORY=czerwony zielony niebieski
# pętla for trwa do momentu odczytania wszystkich wartości z listy KOLORY
dla KOLOR w $COLORS
Do
echo KOLOR: $KOLOR
zrobione
Wyjście:

Dopóki w Linuksie
Wyjaśnienie:
- Inicjalizacja kolorów:
COLORS='red green blue'>: Inicjuje zmienną o nazwieCOLORS>z oddzieloną spacjami listą wartości kolorów (czerwony, zielony i niebieski).
- Dla iteracji pętli:
for COLOR in $COLORS>: Inicjuje pętlę for, która iteruje po każdej wartości w plikuCOLORS>zmienny.- Ciało pętli:
echo 'COLOR: $COLOR'>: Drukuje komunikat dla każdego koloru, wyświetlając bieżącą wartość koloru.
- Ciało pętli:
- Pętla trwa do momentu przetworzenia wszystkich wartości znajdujących się w pliku
COLORS>zmienny.
Ten przykład ilustruje prostą pętlę for w języku Bash, iterującą po liście kolorów przechowywanych w plikuCOLORS>zmienny. Pętla drukuje komunikat dla każdego koloru, wskazując aktualnie przetwarzany kolor. Pętla wykonuje iterację aż do wyczerpania wszystkich wartości kolorów.
2. Tworzenie nieskończonej pętli za pomocą while true w skrypcie powłoki
Najpierw tworzymy plik za pomocą edytora tekstu w systemie Linux. W tym przypadku używamy edytora `vim`.
vim infinite.sh>
Możesz zastąpić nieskończony.sh żądaną nazwą.
Następnie sprawiamy, że nasz skrypt jest wykonywalny za pomocą polecenia `chmod` w systemie Linux.
chmod +x infinite.sh>
#/bin/bash
Java pobiera aktualną datęchoć prawdziwe
Do# Polecenie do wykonania
# sen 1 wskazuje, że śpi przez 1 sekundę
echo Cześć, jestem pętlą nieskończoności
spać 1
zrobione
Wyjście:

nieskończona pętla w Linuksie
Wyjaśnienie:
Nieskończona struktura pętli:
while true>: Inicjuje pętlę while, która trwa w nieskończoność jako warunektrue>jest zawsze prawdą.- Ciało pętli:
echo 'Hi, I am infinity loop'>: Drukuje komunikat wskazujący, że skrypt znajduje się w nieskończonej pętli.sleep 1>: Wstrzymuje wykonywanie pętli na 1 sekundę przed następną iteracją.
- Ciało pętli:
- Pętla działa w nieskończoność, wielokrotnie wykonując polecenia zawarte w jej treści.
Ten przykład ilustruje tworzenie nieskończonej pętli przy użyciu konstrukcji while true w Bash. Pętla w sposób ciągły wypisuje komunikat wskazujący jej status jako pętli nieskończonej i zawiera polecenie uśpienia 1, powodując jednosekundowe opóźnienie pomiędzy iteracjami. Nieskończone pętle są często używane w procesach, które muszą działać w sposób ciągły, aż do ręcznego przerwania.
zeenat aman aktor
3. Interaktywna pętla potwierdzania nazwy
Najpierw tworzymy plik za pomocą edytora tekstu w systemie Linux. W tym przypadku używamy edytora `vim`.
vim name.sh>
Możesz zastąpić name.sh żądaną nazwą.
Następnie sprawiamy, że nasz skrypt jest wykonywalny za pomocą polecenia `chmod` w systemie Linux.
chmod +x name.sh>
#/bin/bash
PRAWIDŁOWY=n
podczas gdy [ $POPRAWNE == n ]
Do# pętla kończy się, gdy wpiszesz y, tj. gdy Twoje imię i nazwisko jest prawidłowe
# -p oznacza monit z prośbą o wprowadzenie danychczytaj -p Wpisz swoje imię i nazwisko: IMIĘ
read -p Czy ${NAME} jest poprawne? PRAWIDŁOWY
zrobione
Wyjście:

Interaktywny skrypt w systemie Linux
Wyjaśnienie:
- Inicjalizacja:
CORRECT=n>: Inicjuje zmienną o nazwieCORRECT>z wartością n. Ta zmienna służy do sterowania pętlą.
- Pętla interaktywna:
while [ '$CORRECT' == 'n' ]>: Inicjuje pętlę while, która trwa tak długo, jak wartośćCORRECT>jest równe n.- Ciało pętli:
read -p 'Enter your name:' NAME>: Monituje użytkownika o wprowadzenie swojego imienia i nazwiska i zapisuje wprowadzone dane w plikuNAME>zmienny.read -p 'Is ${NAME} correct? ' CORRECT>: Prosi użytkownika o potwierdzenie, czy wprowadzona nazwa jest poprawna i aktualizujeCORRECT>odpowiednio zmienna.
- Ciało pętli:
- Pętla trwa, dopóki użytkownik nie wprowadzi y (wskazując poprawną nazwę).
Ten przykład ilustruje interaktywną pętlę, która monituje użytkownika o wprowadzenie swojego imienia i nazwiska, a następnie prosi o potwierdzenie. Pętla trwa do momentu, aż użytkownik potwierdzi poprawność wprowadzonej nazwy wpisując y. Pętla wykorzystuje ` read> `>polecenie wprowadzania danych przez użytkownika i aktualizuje plik ` CORRECT> `>zmienna sterująca przepływem w pętli.
Wniosek
W tym artykule omówiliśmy instrukcje zapętlone w skryptach Bash, omawiającwhile>,for>, Iuntil>pętle. Wprowadza użyciebreak>Icontinue>instrukcje modyfikujące zachowanie pętli. Praktyczne przykłady ilustrują implementację pętli, w tym iterację po wartościach kolorów, tworzenie nieskończonych pętli i budowanie interaktywnej pętli do sprawdzania poprawności danych wejściowych użytkownika. Przewodnik oferuje zwięzłe, ale pouczające źródło wiedzy na temat zrozumienia i wykorzystania konstrukcji pętli w skryptach Bash.