10 fajnych i niesamowitych przykładów pętli Bash

10 Fajnych I Niesamowitych Przykladow Petli Bash



W języku programowania istnieją głównie trzy typy pętli (for, while i till). Wszystkie trzy typy pętli są ważne na różne sposoby. Nie ma dużej różnicy między pętlami while i till, ale pętla for działa zupełnie inaczej niż te dwie. Dlatego możesz używać tych pętli do tworzenia interaktywnych skryptów jako użytkownik basha.

Nauka przykładów basha może więc pomóc w doskonaleniu umiejętności tworzenia skryptów. Dlatego w tym samouczku zamieścimy 10 fajnych i niesamowitych przykładów pętli bash, które możesz wypróbować, aby poprawić swoje umiejętności pisania skryptów.







10 fajnych i niesamowitych przykładów pętli Bash

W tej sekcji wyjaśnimy różne przykłady i podejścia, które zastosowaliśmy w pętlach.



Seq Command z pętlą w Bash

Możesz użyć polecenia seq w pętli for, aby utworzyć sekwencję liczb. Na przykład masz skrypt basha „File.sh”, który zawiera następujący kod:



#!/bin/bash
dla A w $ ( nast 5 dwa 25 )
robić
Echo 'Numery tego $A są'
Gotowe





Po wykonaniu skryptu w terminalu otrzymasz następujący wynik:

. / plik.sh




Zmień nazwy plików za pomocą pętli

Korzystając ze skryptu bash, możesz użyć pętli for do zmiany nazwy wielu plików. Na przykład masz wiele plików .txt i chcesz dodać bieżącą datę do nazwy. Oto przykładowy skrypt, którego możesz użyć:

#!/bin/bash
dla A w $ ( ls * .tekst ) ; robić
mv $A ( nazwa podstawowa $A .tekst ) _$ ( data % d % m % ) .tekst
Gotowe


Teraz możesz uruchomić skrypt, który zmieni nazwę wszystkich plików .txt, dodając aktualną datę:

. / Mój plik.sh



Podobnie możesz zmienić rozszerzenia pliku za pomocą jednego skryptu. Zmieńmy więc rozszerzenie .txt na .sh za pomocą następującego skryptu:

#!/bin/bash
dla plik w * .tekst; robić
mv -- ' plik $ ' '{plik%.txt}.sh'
Gotowe

Po wykonaniu skryptu w terminalu otrzymasz pliki .sh zamiast .txt:

. / Mój plik.sh


Nieskończona pętla For w Bash

Jeśli w pętli nie zdefiniowano warunku zakończenia, nazywa się to pętlą nieskończoną. W tym przykładzie pętli Bash przyjrzymy się nieskończonej pętli for w bashu. Następująca nieskończona pętla for jest zdefiniowana przez podwójny średnik ( ; ; ) i nie zawiera żadnych części początkowych, akcji ani końcowych.

Poniższy skrypt będzie działał, dopóki nie naciśniesz Ctrl + C lub nie wpiszesz „quit” jako danych wejściowych. Ten skrypt wypisze każdą liczbę od 10 do 50 podaną jako dane wejściowe. W przeciwnym razie wypisze „liczba jest poza zakresem”.

#!/bin/bash
#nieskończona pętla
dla ( ( ; ; ) )
robić
Echo „Wprowadź liczbę od 10 do 50”
czytać n
jeśli [ $n == 'zrezygnować' ]
następnie
Echo 'zakończony'
Wyjście 0
być
jeśli ( ( $n < 10 || $n > pięćdziesiąt ) )
następnie
Echo „Liczba jest poza zakresem”
w przeciwnym razie
Echo 'Numer to $n '
być
Gotowe

Podaliśmy 45 i 23 prawidłowe dane wejściowe w powyższym skrypcie. Następnie drukujemy 2 jako dane wejściowe, które mówią na wyjściu, że „liczba jest poza zakresem”. Następnie, aby zamknąć skrypt, wpisujemy quit jako dane wejściowe. Tutaj możesz również nacisnąć Ctrl + C, aby wyjść z nieskończonej pętli.

Trzy pętle wyrażeń w Bash

Z nazwy pętli trzech wyrażeń wiadomo, że składa się ona z trzech wyrażeń, zwanych też wyrażeniami sterującymi. Pierwsze wyrażenie (EXP1) to inicjator, drugie wyrażenie (EXP2) to test pętli lub warunek, a trzecie wyrażenie (EXP3) to wyrażenie/krok zliczania. Uruchommy pętlę trzech wyrażeń w bashu:

#!/bin/bash
dla ( ( n = 5 ; n > = 1 ; n-- ) )
robić
Echo 'Książka $n '
Gotowe

Po uruchomieniu powyższego skryptu otrzymasz następujące dane wyjściowe.

Pętla z wieloma warunkami

Użyliśmy pętli till z wieloma warunkami w poniższym przykładzie pętli bash. W tym skrypcie wzięliśmy „m” i „n”, dwie zmienne, których wartości wynoszą odpowiednio 20 i 10, i utrzymaliśmy limit 15. Tutaj umieściliśmy warunki „m” i „n” razem w pętli, w którym pętla będzie działać, dopóki wartość „m” nie będzie mniejsza niż limit, a „n” będzie większe niż limit.

#!/bin/bash
limit = piętnaście
m = 20
n = 10
aż do [ [ $ mln -lt limit $ || $n -gt limit $ ] ] ;
robić
Echo „Jeżeli M = $ mln wtedy N = $n '
( ( m-- ) )
( ( n++ ) )
Gotowe

Możesz zobaczyć, że uruchomienie powyższego skryptu będzie działać, dopóki wartości „m” i „n” nie osiągną tego samego poziomu.

Czytaj plik w Bash

W bash możesz odczytać zawartość pliku na kilka sposobów. W tym przykładzie pętli bash odczytamy zawartość pliku poprzez nazwę pliku. Możemy użyć następującego skryptu do odczytania pliku w bashu:

#!/bin/bash
Echo „Zawartość wprowadzonego pliku to:”
podczas gdy
czytać linia
robić
Echo $linia
Gotowe < ~Dokumenty / Linuxhint.txt

Po uruchomieniu powyższego skryptu możesz odczytać pełną zawartość wprowadzonego pliku.

Zapisywanie do pliku

Możesz użyć pętli w skrypcie, aby edytować plik bezpośrednio z terminala. Na przykład, jeśli mamy plik txt „Example.txt” i chcemy dodać jakieś informacje, możemy użyć następującego skryptu:


Jeśli uruchomisz powyższy skrypt, poprosi Cię o podanie szczegółów:


Po wprowadzeniu szczegółów naciśnij CTRL + D, aby zapisać plik i CTRL + Z, aby pomyślnie zakończyć proces.

Przerwij i kontynuuj pętlę instrukcji w Bash

W bash możesz kontynuować instrukcję pętli po przerwie. Instrukcja break wychodzi z pętli, a następnie przekazuje kontrolę do następnej podanej instrukcji. Iteracja numer dwa rozpoczyna się po pominięciu bieżącej iteracji tą samą instrukcją continue.

#!/bin/bash
na jednego = 16
aż do fałszywy
robić
( ( na jednego-- ) )
jeśli [ [ $num -równ 13 ] ]
następnie
kontynuować
Elif [ [ $num - 4 ] ]
następnie
przerwanie
być
Echo 'LinuxHint= $num '
Gotowe

W poniższym skrypcie basha widać, że gdy „num” jest równe 13, pomija resztę ciała pętli i przeskakuje do następnej iteracji. Podobnie, pętla zostanie przerwana, gdy „num” będzie mniejsze lub równe 4.


Powyższy skrypt pokazuje, że pętla zaczyna się o 15, przerywa o 13 i trwa do 5.

Obliczanie średniej w Bash

Możesz obliczyć średnią, uruchamiając skrypt w pętli bash. W tym użytkownik może obliczyć średnią liczb w określonym zakresie. Poniższy skrypt oblicza średnią z danych wprowadzonych przez użytkownika.

#!/bin/bash
znaki = „0”
PRZECIĘTNY = „0”
SUMA = „500”
NA JEDNEGO = „5”
podczas gdy PRAWDA ; robić
Echo -n „Wprowadź swoje oceny lub naciśnij „q”, aby przerwać „ ; czytać znaki;
jeśli ( ( ' $ marek ' < „0” ) ) || ( ( ' $ marek ' > „100” ) ) ; następnie
Echo „Proszę wprowadzić swoje oceny”
Elif [ ' $ marek ' == 'q' ] ; następnie
Echo „średnie oceny to: $ŚREDNIA %'
przerwanie
w przeciwnym razie
SUMA = $ [ SUMA $ + $ marek ]
NA JEDNEGO = $ [ $NUM + 1 ]
PRZECIĘTNY = $ [ SUMA $ / $NUM ]
być
Gotowe

Jeśli wprowadzona wartość nie mieści się w zakresie, drukowany jest komunikat „Proszę wprowadzić swoje oceny”. Gdy użytkownik naciśnie „q” po wprowadzeniu wszystkich znaków, skrypt oblicza przybliżoną średnią ze wszystkich wprowadzonych liczb.

Gdy powyższy skrypt zostanie uruchomiony, dane wyjściowe będą wyglądać mniej więcej tak.

Przeczytaj argumenty wiersza poleceń w Bash

W bash możesz czytać pojedyncze argumenty wiersza poleceń za pomocą pętli. Skrypt drukuje sformatowane wartości argumentów. Uruchamiamy argumenty wiersza poleceń w bashu, używając pętli while w poniższym skrypcie. W ten sposób wydrukujesz wartość przekazującą argument value valid opcja za pomocą jednego polecenia.

#!/bin/bash
podczas gdy getopty N:K:M: OPCJA
robić
walizka ' ${OPCJA} '
w
N ) Nazwa = ${OPTARG} ;;
F ) imię Ojca = ${OPTARG} ;;
M ) imię matki = ${OPTARG} ;;
* ) Echo 'Nieważny'
Wyjście 1 ;;
esac
Gotowe
drukujf 'Nazwa: $nazwa \n Imię Ojca: $ojc \n Imię matki: $matka \n '

W ten sposób możesz wydrukować sformatowane wartości argumentów na wyjściu, uruchamiając powyższy skrypt w bashu.

Podsumowanie

To była krótka informacja o 10 fajnych i niesamowitych przykładach pętli bash, których możesz się nauczyć. Użyliśmy różnych rodzajów pętli, aby łatwo stworzyć interaktywny skrypt. Ponadto wyjaśniliśmy również podstawowe podejścia zastosowane w powyższych przykładach. Jeśli masz szczegółowe informacje na temat pętli w bashu, odwiedź naszą oficjalną stronę internetową, aby dowiedzieć się więcej.