Bash, a przykłady pętli

Bash, a przykłady pętli
W programowaniu BASH stosuje się trzy typy pętli. Podczas gdy pętla jest jednym z nich. Podobnie jak inne pętle, do wykonywania powtarzających się zadań jest używana pętla. W tym artykule pokazano, w jaki sposób możesz użyć pętli w While w skrypcie Bash, używając różnych przykładów.

Składnia pętli:

podczas gdy [stan]
Do
polecenia
zrobione

Początkowy i końcowy blok Chwilę pętla jest zdefiniowana przez Do I zrobione Słowa kluczowe w skrypcie Bash. Warunek zakończenia jest zdefiniowany na początku pętli. Otwórz edytor tekstu, aby napisać skrypt bash i przetestować następujące przykłady zapętlania.

Przykład-1: iteruj pętlę przez ustaloną liczbę razy

Utwórz plik bash o nazwie While 1.cii z następującą treścią. Tutaj pętla będzie iterować 5 razy i wydrukuje wartość licznika w każdej iteracji.

#!/bin/bash
# Zainicjuj licznik
n = 1
# Iteruj pętlę na 5 razy
podczas gdy [$ n -le 5]
Do
# Wydrukuj wartość n w każdej iteracji
Echo „Uruchamianie czasu”
# Zwiększ wartość n do 1
((n ++))
zrobione

Wyjście:
Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Przykład-2: Korzystanie z instrukcji Break dla warunkowego wyjścia

przerwa Oświadczenie służy do wcześniejszego wyjścia z pętli w oparciu o określony warunek. Utwórz plik bash o nazwie While 2.cii z następującym kodem. Tutaj pętla jest zdefiniowana w celu iteracji 10 razy, ale iteracja zostanie zatrzymana, gdy wartość licznika wynosi 6.

#!/bin/bash
# Zainicjuj licznik
n = 1
# Iteruj pętlę na 10 razy
podczas gdy [$ n -le 10]
Do
# Sprawdź wartość n
Jeśli [$ n == 6]
Następnie
Echo „zakończone”
przerwa
fi
# Wydrukuj bieżącą wartość n
echo „Pozycja: $ n”
# Zwiększ wartość n do 1
((n ++))
zrobione

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Przykład-3: Korzystanie z instrukcji Kontynuuj, aby pominąć określony krok

Utwórz plik bash o nazwie While3.cii z następującym kodem. W tym przykładzie pętla będzie iterowana przez 5 razy, ale nie będzie wydrukować wszystkich 5 pozycji. Gdy pętla iteruje trzeci raz, instrukcja kontynuowania zostanie wykonana, a pętla przejdzie do następnej iteracji bez drukowania tekstu trzeciej pozycji.

#!/bin/bash
# Zainicjuj licznik
n = 0
# Iteruj pętlę na 5 razy
podczas gdy [$ n -le 5]
Do
# Zwiększ wartość n do 1
((n ++))
# Sprawdź wartość n
Jeśli [$ n == 3]
Następnie
Kontynuować
fi
# Wydrukuj bieżącą wartość n
echo „Pozycja: $ n”
zrobione

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Przykład-4: Przeczytaj argument wiersza polecenia z opcjami

Utwórz plik bash o nazwie While4.cii z następującym kodem. Tutaj pętla służy do odczytania argumentów wiersza polecenia z opcjami. Skrypt wydrukuje sformatowane wartości argumentu po wykonaniu, jeśli wartości trzech argumentów przechodzą z prawidłową opcją.

#!/bin/bash
# Przeczytaj wartości argumentów wiersza polecenia z opcją za pomocą pętli
podczas gdy getopts n: a: e: opt
Do
Case „$ opt”
W
n) name = $ optarg ;;
a) Adres = $ optarg ;;
e) e -mail = $ optarg ;;
*) echo „nieprawidłowa opcja”
wyjście 1 ;;
esac
zrobione
# Wydrukuj wartości argumentu
printf "Nazwa: $ name \ natress: $ Adres \ nEmail: $ e -mail \ n"

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Przykład-5: odczytaj wiersz pliku według linii

Utwórz plik bash o nazwie While5.cii z następującym kodem. Tutaj nazwa pliku zostanie podana w pierwszym argumencie wiersza poleceń w czasie wykonania. Jeśli plik istnieje, zawartość pliku zostanie wydrukowana linią za pomocą pętli; W przeciwnym razie zostanie wydrukowany komunikat o błędzie.

#!/bin/bash
# Sprawdź wartość argumentu wiersza polecenia
jeśli [$# -GT 0]; Następnie
# Przypisz nazwę pliku z wartości argumentu w linii komandowej
nazwa pliku = 1 $
# Przeczytaj wiersz pliku po wierszu
podczas linii odczytu; Do
# Wydrukuj każdą linię
Echo $ linia
zrobione < $filename
w przeciwnym razie
# Wydrukuj wiadomość, jeśli nie jest podany argument
Brak wartości argumentu echo „."
fi

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Przykład-6: zapisz treść w pliku

Utwórz plik bash o nazwie While6.cii z następującym kodem. Tutaj nazwa pliku zostanie pobrana od użytkownika, w którym treść tekstu zostanie napisana. Użytkownik musi wpisać Ctrl+D po wpisaniu treści pliku.

#! /bin/bash
echo -n „Wprowadź nazwę pliku, aby utworzyć:”
# Weź nazwę pliku, która zostanie utworzona
Przeczytaj nazwę pliku
# Przeczytaj zawartość pliku z terminalu
podczas linii odczytu
Do
echo $ line >> $ nazwa pliku
zrobione

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Przykład-7: Tworzenie nieskończonej pętli

Czasami wymagane jest zadeklarowanie nieskończonej pętli do różnych celów programowania. Utwórz plik bash o nazwie While7.cii i przetestuj kod nieskończonej pętli. W tym przykładzie nie jest ustalany warunek zakończenia. Ten rodzaj pętli nazywa się nieskończoną pętlą. W tym przypadku wyrzucono instrukcję wyjścia do odejścia z nieskończonej pętli. Tak więc ta pętla zostanie iterowana 10 razy, a gdy wartość iteracji stanie się równa 10, instrukcja wyjścia zostanie wykonana w celu wychodzenia z Infinite Pętla.

#!/bin/bash
# Zainicjuj licznik
n = 1
# Deklaruj nieskończoną pętlę
chwila :
Do
printf „bieżąca wartość n = $ n \ n”
Jeśli [$ n == 3]
Następnie
Echo „Dobry”
Elif [$ n == 5]
Następnie
Echo „Bad”
Elif [$ n == 7]
Następnie
echo „brzydkie”
Elif [$ n == 10]
Następnie
Wyjście 0
fi
# Zwiększ wartość n do 1
((n ++))
zrobione
# Weź nazwę pliku, która zostanie utworzona
Przeczytaj nazwę pliku
# Przeczytaj zawartość pliku z terminalu
podczas linii odczytu
Do
echo $ line >> $ nazwa pliku
zrobione

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Przykład-8: Korzystanie ze stylu C podczas pętli

Utwórz plik bash o nazwie podczas 8.cii z następującym kodem. Tutaj pętla While została zadeklarowana w formacie w stylu C, który będzie iternował 5 razy, zwiększając wartość licznika o 10.

#!/bin/bash
# Zainicjuj licznik
n = 5
# Zdefiniuj czas w stylu C
podczas gdy (n <= 50))
Do
Echo $ n
# Licznik przyrostowy o 10
((n = n+10))
zrobione

Wyjście:

Następujące dane wyjściowe pojawią się po wykonaniu powyższego skryptu.

Wniosek:

Różne zastosowania pętli While zostały wyjaśnione w tym samouczku przy użyciu wielu przykładów. Mam nadzieję, że użytkownik Bash będzie mógł właściwie użyć tej pętli w swoim skrypcie po ćwiczeniu tych przykładów.