Pełny przewodnik po pętlach Bash

Pełny przewodnik po pętlach Bash
Najbardziej podstawowym sposobem interakcji z systemem Linux jest interfejs wiersza poleceń (CLI). Interfejs wiersza polecenia to okno front-end do przejęcia poleceń przez użytkownika, aby wykonać określone zadanie. Zadaniem może być tworzenie katalogu, pliku, wstawienie danych, usunięcie pliku lub katalogu itp. Powłoka przetwarza polecenia wprowadzone przez użytkownika w CLI. Linux ma różne skorupy, takie jak Bourne Shell, C Shell, Z Shell, Korn Shell i Bourne Again Shell, który jest również znany jako Bash. Wszystkie wspomniane pociski mają swoje własne możliwości, ale jedną z najczęściej używanych skorup jest Bash.

Bash Shell wychodzi z pudełka z wieloma dystrybucjami Linux i zawiera również cechy wielu innych powłok. Bash jest znacznie bardziej wydajny, jeśli chodzi o wykonywanie operacji przez polecenie. Jeśli chcesz wykonać zadanie, które wymaga wykonywania wielu poleceń z jakąś logiką, istnieje cały język programowania o nazwie Bash Scripting.

1. Co to jest skrypty bash?
2. Co to są pętle bash?
3. Zastosowania pętli w programowaniu
4. Zalety pętli w programowaniu
5. Rodzaje pętli w Bash

  • 5.1 Bash dla składni pętli
  • 5.2 Bash podczas składni pętli
  • 5.3 Bash aż do składni pętli

6. Korzystanie z pętli w Bash
6.1 Wdrożenie pętli w Bash

  • 6.1.1 Bash for Loop Itersing przez listę strun
  • 6.1.2 Bash for Loop iterację za pośrednictwem listy liczb
  • 6.1.3 Bash for Pętle iterację przez szereg przedmiotów
  • 6.1.4 Bash for Loop iteraing przez tablicę
  • 6.1.5 Bash dla pętli w C jak składnia
  • 6.1.6 Bash for Loop Infinite Loop
  • 6.1.7 Bash zagnieżdżona do pętli

6.2 wdrożenie pętli w Bash

  • 6.2.1 Bash podczas drukowania liczb
  • 6.2.2 Bash Infinite podczas pętli
  • 6.2.3 Bash podczas pętli z wieloma warunkami

6.3 Wdrożenie do pętli w Bash

  • 6.3.1 Wrzuć do pętli do wydrukowania liczb
  • 6.3.2 Bash nieskończone do pętli

7. Instrukcje kontroli pętli

  • 7.1 Oświadczenie o przerwie
  • 7.2 Oświadczenie Kontynuuj

8. Przykłady pętli bash

  • 8.1 Przykład 1: Zmiana rozszerzenia plików za pomocą pętli Bash
  • 8.2 Przykład 2: Modyfikowanie nazw plików za pomocą pętli Bash
  • 8.3 Przykład 3: Czytanie pliku za pomocą pętli Bash
  • 8.4 Przykład 4: Znalezienie pliku za pomocą pętli Bash
  • 8.5 Przykład 5: Tworzenie prostego licznika za pomocą pętli Bash
  • 8.6 Przykład 6: Sprawdzanie połączenia internetowego za pomocą pętli Bash
  • 8.7 Przykład 7: Prosty kalkulator z pętlami bash
  • 8.8 Przykład 8: Znalezienie średniej za pomocą pętli bash

9. Wniosek

1 Co to jest skrypty bash?

Skrypt jest czymś, co mówi systemowi, jaka konkretna operacja powinna wykonać. Podobnie, skorupy komendy Bash Command Bash, że to, co powinno zrobić. Prosty plik tekstowy niosący struny poleceń bash nazywa się plik skryptu bash. Skrypt bash wykonuje polecenia w podobny sposób, w jaki powłoka wykonuje, ale możesz zastosować operacje logiczne, aby wykonać określoną funkcję. Język programowania używany w Bash nazywa się językiem programowania Bash.

Język programowania Bash jest podobny do każdego innego języka programowania, w którym można przypisać zmienne, zastosować instrukcje warunkowe, pętle i tablice. Możesz wykonać dowolne zadanie, od poziomu podstawowego do złożonych programów z setkami instrukcji w scenariuszu Bash. Aby zrozumieć skrypty bash, stwórzmy proste Skrypt Helloworld:

#! /bin/bash
Echo „Witamy w Bash Scripting”

W powyższym skrypcie „#!" jest znany jako "szulernia" Lub "Hashbang," I "/bin/bash”Jest ścieżką do tłumacza. „„Echo„Polecenie wyświetla wyjście na ekranie; Powyższy skrypt drukuje ciąg. Skrypt Bash można napisać w dowolnym edytorze; Linux jest wyposażony w domyślne edytory, takie jak nano, vim itp. Po wpisaniu skryptu Zapisz plik za pomocą „.cii”Rozszerzenie, e.G., "Witaj świecie.cii". Aby wykonać skrypt bash w CLI, użyj „grzmotnąć" Komenda:

$ bash helloworld.cii

Powyższe polecenie wykonuje skrypt bash i drukuje ciąg, jak pokazano na obrazie wyjściowym. Podobnie możesz wykonać dowolną operację logiczną przy użyciu instrukcji warunkowych lub wielokrotnie wykonywać instrukcje; Można wdrożyć pętle. Ten pismo dotyczy pętli bash. Pętle służą do wielokrotnego uruchamiania określonych wierszy kodu. Poniższy segment dokładnie obejmie pętle bash:

2 Co to są pętle bash?

Pętle są jedną z podstawowych struktur programowania wykorzystywanych do wykonywania sekwencji instrukcji wielokrotnie, aż do spełnienia określonego warunku. Programiści używają pętli na różne sposoby, takich jak iteracja przez wartości tablicy, powtarzanie funkcji, dodawanie liczb i tworzenie liczników.

Pętla sprawdza zestaw instrukcji w korpusie pętli, aż warunek pętli zostanie spełniony, jak pokazano na powyższym obrazie.

3 zastosowania pętli w programowaniu:

Pętle mogą być używane do wielu celów w programowaniu, główne użycie pętli jest wspomniane poniżej:

  • W algorytmach do wyszukiwania konkretnych informacji
  • W grach, aby tworzyć pętle gier
  • Tworzenie liczników, które mogą być pomocne w automatyzacji
  • Powtórzyć określone funkcje
  • Rozwiązywanie złożonych problemów matematycznych

Pętle są również przydatne do iteracji przez tablice.

4 Zalety pętli w programowaniu:

Pętle w programowaniu mają różne zalety:

  • Pętle mogą wielokrotnie wykonywać zadanie bez popełniania błędów (zakładając, że instrukcje są prawidłowe)
  • Pętle pozwalają na wielokrotne wykonywanie dowolnej liczby instrukcji
  • Pętle upraszczają złożone kody i sprawiają, że są wydajne
  • Zapobiegają pisaniu tego samego kodu wielokrotnie
  • Pętle mogą być również używane w strukturze danych do iteracji przez tablice

5 rodzajów pętli w Bash:

W Bash istnieją trzy typy pętli podstawowej:

  1. : dla pętli
  2. : podczas pętli
  3. : aż do pętli

1 Bash dla składni pętli:

Podstawowa bash dla pętli iterację za pośrednictwem listy elementów i wykonuje wspomniane instrukcje lub polecenia w korpusie pętli.

Składnia Bash Do pętla to:

dla elementu w [lista]
Do
[polecenia]
zrobione

Lista może być tablicą, sekwencją liczb lub ciągów lub wyjściem polecenia. Podstawową bash dla pętli można również przypisać za pomocą struktury języka C:

dla ((inicjalizacja; warunek; przyrost))
Do
[polecenia]
zrobione

„„inicjalizacja”Działa tylko raz, potem„stan" sprawdzone. Jeśli jest to prawdą, polecenia w ciele będą wykonywać i kontynuować, aż warunek nie oceni jako fałszywy.

2 Bash podczas składni pętli:

Bash, podczas gdy pętla wykonuje zestaw instrukcji lub określonych poleceń nieznaną liczbę razy, aż określony warunek oznaczony jako false:

podczas gdy [stan]
Do
[polecenia]
zrobione

Warunek jest oceniany przed wykonaniem polecenia. Jeśli warunek jest prawdziwy, polecenie zostanie wykonane; Jeśli warunek zmienił się, pętla zostanie zakończona.

3 Bash do składni pętli:

Bash, dopóki pętla nie wykonuje zestawu instrukcji lub poleca nieskończoną liczbę razy, aż określony warunek zostanie oznaczony jako prawdziwy:

aż do [warunku]
Do
[polecenia]
zrobione

Podobnie do pętli While, warunek jest sprawdzany przed wykonaniem polecenia; Jeśli warunek jest fałszywy, zestaw instrukcji zostanie wykonany. Jeśli warunek stanie się prawdziwy, pętla zakończy się.

Używanie pętli w Bash:

Jak wspomniano powyżej, Bash ma trzy główne typy pętli, a użycie każdego typu zależy od zadania, które użytkownik chce wykonać. Zanurzmy się w szczegółach, w jaki sposób różne rodzaje pętli są przypisywane i manipulowane w Bash.

1 Wdrożenie pętli w Bash:

Poniższa sekcja koncentruje się na tym, jak wdrożyć bash dla pętli w skryptach bash. W pętli Bash służy do przejrzenia listy obiektów,

1.1 Bash for Loop Itersing przez listę strun:

Podstawowa bash dla pętli przechodzi listę elementów, tablicę lub może być użyta do wielokrotnego wykonywania zestawu instrukcji w korpusie pętli. Poniższy przykład jest implementacją pętli, która przechodzi listę elementów ciągów:

#! /bin/bash
dla przedmiotów w sobotę w niedzielę poniedziałek Wtorek w środę
Do
echo „element na liście to:” $ Pozycje
zrobione

1.2 Bash for Loop iterację za pośrednictwem listy liczb:

Iterować listę liczb:

#! /bin/bash
dla pozycji w 1 2 3 4 5
Do
echo „element na liście to:” $ Pozycje
zrobione

1.3 Bash for Pętle iterację przez szereg przedmiotów:

W BASH wyrażenie sekwencji służy do wydrukowania sekwencji liczb. Wyrażenie sekwencji również obsługuje zakres. Można również zastosować pętlę dla przekroczenia zakresu ekspresji sekwencji. Na przykład:

#! /bin/bash
dla elementów w 1… 5
Do
echo „element na liście to:” $ Pozycje
zrobione

Ekspresja "1… 5”Jest reprezentacją liczb od 1 do 5. Sekwencję można również zdefiniować za pomocą specyficznego przyrostu, wyrażenie do naśladowania byłoby „Rozpocznij… koniec… przyrost”:

#! /bin/bash
dla elementów w 1… 10… 2
Do
echo „element na liście to:” $ Pozycje
zrobione

1.4 Bash for Loop iterację przez tablicę:

Pętle są powszechnie stosowane w iteracji przez tablicę. Zrozummy to na przykładzie:

#! /bin/bash
my_array = (styczeń luty marsz w maju)
dla elementów w $ my_array [@]
Do
echo „Elementy w tablicy:” $ Elementy
zrobione

1.5 Bash for Loop w C jak składnia:

Jak wspomniano powyżej, bash obsługuje również pętlę w stylu języka C. Poniższy przykład pokazuje, jak używać stylu C do pętli używanej w Bash:

#! /bin/bash
dla ((elementy = 1; elementy<=10 ; i++))
Do
echo „liczba:” $ pozycje
zrobione

Struktura pętli w stylu C jest szeroko stosowana, łatwa do zapamiętania i wdrożenia. Ponieważ wiele nowoczesnych języków programowania obsługuje podobną składnię pętli, powyższa struktura pętli wydrukuje liczby od 1 do 10.

1.6 Bash for Loop Infinite Loop:

Nieskończona pętla ma różne zastosowania w programowaniu. Poniższy przykład pokazuje implementację Infinite Loop za pomocą BASH do pętli:

#! /bin/bash
Count = 0
Do (( ; ; ))
Do
Sleep 2
echo $ Count
echo „Naciśnij Ctrl+C, aby zatrzymać wykonanie kodu”
((count ++))
zrobione

1.7 Bash Need for Loop:

Pętle zagnieżdżone oznaczają strukturę pętli w innej strukturze pętli; Pierwsza pętla zostanie nazwana pętlą zewnętrzną, a pętla wewnątrz zewnętrznej pętli będzie nazywana pętlą wewnętrzną. Każda iteracja pętli zewnętrznej uruchomi wszystkie wewnętrzne iteracje pętli. Pętla dla Bash można również wdrożyć w zagnieżdżonym formacie:

#! /bin/bash
dla pozycji1 w lutym lutego
Do
dla pozycji 2 w maju czerwca
Do
echo „$ pozycje 1: $ pozycje 2”
zrobione
zrobione

2 Wdrożenie While Loop w Bash:

Kluczową różnicą między bash dla pętli i podczas gdy pętla polega na tym, że podczas gdy pętla jest używana, gdy liczba integracji jest nieznana. Dowiedz się, w jaki sposób pętla jest przypisywana i wdrażana w scenariuszu Bash:

2.1 Bash podczas pętli do drukowania liczb:

Poniższy przykład wyświetli liczby od 1 do 10:

#! /bin/bash
x = 0
podczas gdy [$ x -le 10]
Do
echo „Liczby to:” $ x
((x ++))
zrobione

2.2 Bash Infinite podczas pętli:

Nieskończona pętla stale wykonywana i nigdy nie kończy. Infinite Loop służy do sprawdzania danych wejściowych od użytkowników i odpowiednio reagowania. Najczęstszym przykładem jest pętla gry, w której gracz kontroluje postać, a pętle drukuje reakcję każdego ruchu:

#! /bin/bash
Count = 0
chwila :
Do
Sleep 2
echo "counter =" $ Count
echo „Naciśnij Ctrl+C, aby zatrzymać wykonanie kodu”
((count ++))
zrobione

Powyższy kod wydrukuje wartość licznika i „Hello ! Naciśnij Ctrl+C, aby wyjść z Infinite Loop ”po 1 sekundzie i wielokrotnie wydrukuj ją co sekundę. Polecenie „Sleep” dodaje opóźnienia do wykonania programu. Okrężnica „:” po „While” jest poleceniem NULL. Inny sposób przypisania Infinite podczas pętli:

#! /bin/bash
Count = 0
choć prawda
Do
Sleep 2
echo "counter =" $ Count
echo „Naciśnij Ctrl+C, aby zatrzymać wykonanie kodu”
((count ++))
zrobione

2.3 Bash podczas pętli z wieloma warunkami:

Poniższy przykład pokazuje, w jaki sposób stosuje się wiele warunków z Bash podczas pętli:

#! /bin/bash
Num1 = 1
NUM2 = 5
podczas gdy [[$ NUM1 -LT $ NUM2 || $ num1 == $ num2]]
Do
echo „Numer to:” $ num1
((NUM1 ++))
zrobione
Echo „zrobione !"

Można zauważyć, że podczas pętli ocenia dwa warunki z operatorem „||”. Lub operator jest operatorem logicznym, który wysyła prawdziwy, jeśli którykolwiek z warunków jest prawdziwy.

3 Wdrożenie do pętli w Bash:

Pętla aż do pętli While, ale pętła, dopóki określony warunek nie oceni jako prawdziwy. Rozumiemy, jak wdrożyć do pętli w Bash:

3.1 Bash do pętli do drukowania numerów:

Poniższy przykład do dopóki pętla drukuje liczby w wyjściu od 0 do 10:

#! /bin/bash
x = 0
do [$ x -GT 10]
Do
echo „Liczby to:” $ x
((x ++))
zrobione

3.2 Bash Infinite do pętli w Bash:

Nieskończona pętla za pomocą operatora pętli nie jest wymieniona poniżej:

#! /bin/bash
x = 0
aż do fałszu
Do
echo „licznik:” $ x
((x ++))
sen 1
echo „Naciśnij Ctrl+C, aby zakończyć pętlę”
zrobione

Instrukcje kontroli pętli:

Pętle są zaprojektowane do ciągłego pętli, aż do spełnienia określonego warunku, ale istnieją instrukcje, za pomocą których można kontrolować przepływ pętli.

  • Oświadczenie o przerwie
  • Oświadczenie Kontynuuj

1 Oświadczenie Break:

Słowo kluczowe przerwy kończy pętlę, bez względu na to, jaki rodzaj konstrukcji pętli jest używany, i uruchamia instrukcję kodu poza ciałem pętli:

Zrozumiemy stwierdzenie przerwy za pomocą przykładu Bash:

#! /bin/bash
dla przedmiotów z lutego marca kwietnia maja Jun Jul
Do
Jeśli [[„$ item” == „może”]]]
Następnie
przerwa
fi
echo „Przedmioty to:” $ Elementy
zrobione
Echo „Pętla zakończyła się”

Podobnie instrukcja Break można również używać w pewnej pętli:

#! /bin/bash
x = 0
podczas gdy [$ x -lt 10]
Do
echo „Numer to:” $ x
((x ++))
Jeśli [["$ x" == "7"]]
Następnie
przerwa
fi
zrobione
Echo „Pętla zakończyła się”

Przykład instrukcji do przełomu jest wspomniany poniżej:

#! /bin/bash
x = 0
aż do fałszu
Do
((x ++))
Jeśli [[$ x -eq 5]]
Następnie
przerwa
fi
echo „Wartości to:” $ x
zrobione
Echo „Pętla zakończyła się”

Gdy wartość przyrostu („x”) jest równa 5, instrukcja przerwania zakończy pętlę, a instrukcje poza ciałem pętli wykonają.

2 Oświadczenie Kontynuuj:

Instrukcja kontynuowania kończy bieżącą operację pętli, wraca do oryginalnego warunku pętli i wykonuje następną iterację.

Zrozumiemy stwierdzenie Kontynuuj kontrolę za pomocą przykładu:

#! /bin/bash
dla przedmiotów z lutego marca kwietnia maja Jun Jul
Do
Jeśli [[„$ item” == „może”]]]
Następnie
Kontynuować
fi
echo „pozycja na liście:” $ Pozycje
zrobione

Pętla For itera listy miesięcy i zatrzymuje się, gdy wartość staje się „móc". Rozpocznie się nowa iteracja, a instrukcje na podstawie instrukcji ciągłych nie będą wykonywać. Można to również zobaczyć na obrazie wyjściowym, że „móc”Brakuje na liście, ponieważ instrukcja Kontynuacja pominęła wykonanie„ Echo ”, gdy„rzeczy„Zmienna staje się równa„móc" strunowy.

Jak w przypadku pętli „Kontynuować„Oświadczenie można również zaimplementować w pewnym czasie:

#! /bin/bash
x = 0
podczas gdy [$ x -lt 10]
Do
((x ++))
Jeśli [[„$ x” -lt „5”]]
Następnie
Kontynuować
fi
echo „liczba to:” $ x
zrobione

Powyższy kod wydrukuje liczby od 1 do 10 i pomijają 5, jak pokazano na obrazie wyjściowym. Przykład wdrożenia „Kontynuować”Oświadczenie z pętlą nie jest wymienione poniżej:

#! /bin/bash
x = 0
do [$ x == 10]
Do
((x ++))
Jeśli [[$ x -eq 5]]
Następnie
Kontynuować
fi
Echo „Numer to:” $ x
zrobione

Przykłady pętli bash:

Struktury pętli mają różne implementacje w BASH. W tej sekcji skupi się na bardziej zaawansowanych przykładach bash, w których wdrażane są pętle.

1 Przykład 1: Zmiana rozszerzenia plików za pomocą pętli Bash:

Poniższy przykład to rozszerzenie pliku od użytkownika; Skrypt zbierze wszystkie pliki rozszerzenia podane przez użytkownika i zapisze je w pliku ”FILE_LIST". Pętla For przechodzi na listę plików. Natomiast "CP„Polecenie utworzy kopię pliku za pomocą„.Bak„Rozszerzenie w bieżącym katalogu.

#! /bin/bash
echo „Wprowadź rozszerzenie pliku”
Przeczytaj ext
echo „Wprowadź rozszerzenie konwersji”
Przeczytaj COV
LS *.$ ext> pliki
bo w „plikach CAT”
Do
CP „$ i” „$ i”.$ Cov
zrobione

Zwiększmy powyższy kod:

#! /bin/bash
echo „Wprowadź nazwę katalogu”
Przeczytaj reż
echo „Wprowadź rozszerzenie nazwy pliku, które ma zostać przekonwertowane”
Przeczytaj f_ext
echo „Wprowadź rozszerzenie pliku do konwersji”
Przeczytaj COV
dla pliku w $ dir/*$ f_ext
Do
MV - „$ plik” „$ plik%$ f_EXT $ cov”
zrobione

Teraz kod przyjmuje nazwę katalogu zawierającego plik, rozszerzenia nazwy pliku do konwersji oraz nazwa rozszerzenia do konwersji plików w katalogu. Użytkownik może uzyskać dowolny plik i przekonwertować te pliki na żądane rozszerzenie.

2 Przykład 2: Modyfikowanie nazw plików za pomocą pętli Bash:

Miejsce w plikach lub katalogu może tworzyć problemy podczas uruchamiania poleceń zawierających ścieżki. Interfejs wiersza poleceń nie rozpoznaje miejsca w nazwie plików lub folderów, jak pokazano na poniższym obrazku:

Musisz użyć cytatów lub sekwencji ucieczki. Ale na szczęście możemy utworzyć skrypt bash, który może dodać podkreślenie „_” lub deszcz „-”, aby wypełnić przestrzeń nazw plików i katalogów.

#! /bin/bash
echo „Wprowadź nazwę folderu”
Przeczytaj folder
Folder CD $
dla plików w *\ *
Do
mv "$ pliki" "$ pliki ///_"
zrobione

Powyższy kod przyjmuje nazwę folderu jako wejście, które jest „mój folder”I zawiera pliki z miejscem w ich nazwach, jak pokazano na powyższym obrazie wyjściowym. Skrypt zastąpi przestrzeń przez podkreślenie „_”W nazwach plików obecnych w katalogu wymienionym przez użytkownika.

3 Przykład 3: Czytanie pliku za pomocą pętli Bash:

Plik można również odczytać za pomocą struktury pętli:

#! /bin/bash
echo „Wprowadź nazwę pliku”
Przeczytaj plik
choć prawda
czytaj -r l
Do
Echo $ l
zrobione < "$file"

Powyższy kod przyjmuje nazwę pliku tekstowego jako dane wejściowe od użytkownika i drukuje jego zawartość.

4 Przykład 4: Znalezienie pliku za pomocą pętli Bash:

Poniższy przykład znajduje pliki według rozszerzenia użytkownika podaje:

#! /bin/bash
echo „Wprowadź rozszerzenie nazwy pliku”
Przeczytaj ext
Ifs = $ '\ n'
dla pliku w $ (znajdź -name „*$ ext”)
Do
echo $ plik
zrobione
Unset IFS

IFS jest specjalną zmienną powłoki, wewnętrzny separator pola używany do znalezienia granic słów. Użytkownik może wspomnieć o każdym rozszerzeniu typu pliku, takiego jak „.tekst", ".sh ”lub„.png ”, kod znajdzie wszystkie pliki tego rozszerzenia i wyświetli je w terminalu.

5 Przykład 5: Tworzenie prostego licznika za pomocą pętli Bash:

Ten przykład będzie odliczał z liczby wprowadzonej przez użytkownika:

#! /bin/bash
echo „Wprowadź numer”
Przeczytaj licznik
podczas gdy [$ Counter -GT 0]
Do
sen 1
Echo $ licznik
((lada--))
zrobione
Echo „gotowe”

Powyższy kod otrzymuje liczbę od użytkownika, a licznik spada o jedną sekundę.

6 Przykład 6: Sprawdzanie połączenia internetowego za pomocą pętli Bash:

Strukturę pętli można również użyć do sprawdzenia połączenia internetowego za pomocą „świst" Komenda:

#! /bin/bash
licznik = 5
podczas gdy [[$ Counter -Ne 0]]
Do
ping -c 2 www.Google.com
Check = $?
Jeśli [[$ Check -eq 0]]
Następnie
Echo "___________________"
Echo „Internet działa”
Echo "___________________"
Wyjście 0
fi
((lada--))
zrobione
Echo "________________"
Echo „Internet jest w dół”
Echo "________________"

Powyższy kod będzie ping, aby sprawdzić status strony internetowej Google. „„-C„Flaga służy do liczenia. Wartość opcji „-C”Jest 2, co oznacza„świst”Wysyła żądania dwa razy. Jeśli kod wyjściowy „$?”Jest 0, polecenie ping jest uznawane, a Internet działa. Ping sprawdzi status pięć razy. Jeśli nie otrzyma żadnego potwierdzenia, „Internet jest w dół„Błąd zostanie wyświetlony.

7 Przykład 7: Prosty kalkulator z pętlami bash:

Poniższy przykład to pobieranie dwóch liczb od użytkownika i proszenie o wykonanie operacji. Poniższy skrypt Bash wykonuje dodawanie, odejmowanie, mnożenie i podział:

#! /bin/bash
echo „Wprowadź numer 1”
Przeczytaj Num1
echo „Wprowadź numer 2”
Przeczytaj Num2
choć prawda
Do
Echo „Wybierz numer operacji”
echo "1 suma +: 2 różnica -: 3 mnożenie *: 4 Dywizja \: 5 rezygnacja"
Przeczytaj operator
Jeśli [[„$ operator” -eq "1"]]
Następnie
((wyjście = num1+num2))
elif [[„$ operator” -eq "2"]]
Następnie
((wyjście = num1-num2))
elif [[„$ operator” -eq "3"]]
Następnie
((wyjściowe = num1*num2))
Elif [[„$ operator” -eq „4”]]
Następnie
((wyjście = num1/num2))
Elif [[„Operator” -eq "5"]]
Następnie
Wyjście 0
fi
echo „Rezultatem jest” $ wyjście
zrobione

Kalkulator będzie wykonywać funkcje, dopóki użytkownik nie poda polecenia, aby zakończyć nieskończoną pęt podczas pętli.

8 Przykład 8: Znalezienie średniej za pomocą pętli Bash:

Poniższy przykład przyjmie liczby jako dane wejściowe użytkownika i obliczy średnią:

#!/bin/bash
choć prawda; Do
echo -n „Wprowadź liczbę od 0 do 100 i naciśnij A/A, aby uzyskać średnią:”
Przeczytaj e_num
if ((„$ e_num” „100”))
Następnie
Echo " !Niewłaściwy wpis! Wprowadź numer od 0 do 100 ”
elif ((„$ e_num” == „a”)) || ((„$ e_num” == „a”))
Następnie
Echo „Średnia to: $ avg%”
przerwa
w przeciwnym razie
sum = $ [$ sum + $ e_num]
num = $ [$ num + 1]
AVG = $ [$ sum / $ num]
fi
zrobione

Powyższy kod otrzymuje liczby od użytkownika od 0 do 100. Jeśli wprowadzony numer nie jest 0 lub większy niż 100, użytkownik otrzyma komunikat o błędzie po wprowadzeniu żądanego numeru. Naciskać A/a Aby uzyskać średnią na wyjściu.

Wniosek:

Konstrukty pętli są kluczowymi konstrukcjami programowania i są dość przydatne dla programistów, szczególnie w automatyzacji powtarzalnych operacji. Pętle służą do wielokrotnego wykonywania instrukcji, dopóki pętla nie oceni konkretnej instrukcji testu. Pętle mają różne zastosowania w programowaniu, takie jak tworzenie algorytmów, automatyzacja, tworzenie pętli gier itp. Bash oferuje trzy rodzaje struktur pętli: dla pętli, podczas gdy pętla i do pętli. Podejście kontrolowane może również klasyfikować pętle; Podczas gdy pętle i do momentu kontrolowania pętli, ponieważ warunek testu jest sprawdzany przed wykonaniem instrukcji w pętli. Bash for Loop można zainicjować na dwa odrębne sposoby, w typowym formacie Bash i stylu składni języka C. Podstawowa pętla jest po prostu używana do iteracji za pośrednictwem listy elementów lub tablic. W implementacji Pętli znamy już liczbę iteracji, podczas gdy podczas gdy pętle są używane, gdy liczba iteracji jest nieznana. While pętla nadal pęknie, o ile zdefiniowana instrukcja kontrolna jest prawdziwa. Należy zauważyć, że jeśli nie zostanie określony warunek, pętla zostanie określona jako nieskończona pętla. Nieskończona pętla utrzymuje instrukcje w pętli, o ile nie jest przerywane.

Następnie pojawia się instrukcje kontrolowane pętlą, przerwa i instrukcja kontynuowania. Instrukcja przerwy służy do zakończenia pętli i uruchamia instrukcje poza korpusem pętli. Jednak instrukcja kontynuowania funkcjonuje w przeciwny sposób instrukcji przerwy. Zamiast zakończyć pętlę, oświadczenie Kontynuuj zmusza pętlę do nowej iteracji i pomija pozostałe instrukcje korpusu pętli.

Wszystkie struktury pętli Bash można również stosować w zagnieżdżony sposób. Zagnieżdżone pętle oznaczają pętle w innych pętlach i są niezwykle przydatne w iteracji przez dwie różne tablice. Ostateczna część zapisu obejmuje niektóre podstawowe i zaawansowane przykłady wdrożenia pętli bash, choć istnieje mnóstwo sposobów korzystania z pętli bash w skryptach bash.

Pętle są przekonującą strukturą programowania i mają różne korzyści; Upraszczają złożone kody i sprawiają, że są bardziej wydajne. Jeśli chcesz wykonać określone polecenia, nie musisz ich pisać; Pętle są zaprojektowane do wykonywania takich zadań.