Bash Neded for Loop

Bash Neded for Loop

Pętle to struktura danych używana w wielu językach do wykonywania zadań w iteracjach i.mi., wielokrotnie, aż do osiągnięcia rzeczywistego celu. Jedną z wielu pętli programowania jest pętla „dla”. Pętla „for” może być używana samotnie i mówi się, że więcej niż jedna pętla „dla” w sekwencji jest „zagnieżdżona”. Dlatego postanowiliśmy wykorzystać „zagnieżdżone” do pętli w programowaniu BASH w naszych przykładach dzisiejszego artykułu. Zacznijmy więc od otwarcia terminalu w Ubuntu 20.04 System za pomocą skrótu „Ctrl+alt+t”.

Przykład 01: Prosty dla pętli

W ramach terminalu będziemy tworzyć nowy plik bash o nazwie „Bash.sh ”z instrukcją„ dotyk ”. Ten plik zostanie utworzony w katalogu domowym naszego systemu. Ten plik musi zostać otwarty w jakimś edytorze i.mi., nano, vim lub tekst, aby dodać do niego kod. Tak więc otworzyliśmy ten nowo utworzony plik z folderu domowego w edytorze „Nano” zgodnie z pokazaną poniżej instrukcją nano w powładzie, a następnie nazwa pliku.

$ Touch Bash.cii
$ nano bash.cii

Dodaliśmy rozszerzenie bash w pliku bash jako „#!/bin/bash ”. Prosta pętla „for” została rozpoczęta od podwójnych „prostych” nawiasów jak poniżej. Ta pętla rozpoczęła się od wartości 1 (zmienna „i”) i będzie trwała do momentu, gdy wartość równa się 5. Przy każdej iteracji operator przyrostowy został również użyty do zwiększenia wartości zmiennej „i” o jeden. Część „do” pętli „for” wyświetla się tutaj. Na każdej iteracji część „do” zostanie wykonana, a instrukcja echo będzie wyświetlać numer iteracji za pomocą „$ i”. Termin „gotowy” wskazuje koniec pętli. Zapiszmy nasz kod BASH w celu wykonania. Naciśnij Ctrl+X, aby wyjść. Kod jest dołączony tutaj.

Po uruchomieniu tego pliku Bash otrzymaliśmy wszystkie numery iteracji wydrukowane na powładzie. Dane wyjściowe jest prezentowane na przymocowanym obrazie.

$ Bash Bash.cii

Przykład 02: gniazdo do pętli

Zacznijmy teraz od gniazda dla pętli. W tym celu musimy dodać dwie pętle „dla” jeden po drugiej w sekwencji w kodzie bash. W ten sposób otworzyliśmy ten sam plik i zaktualizowaliśmy nasz kod, co poniżej. Zarówno pętle „for” zostaną uruchomione od 1, jak i zakończą się o wartości 3 z przyrostem 1. Wewnętrzna pętla będzie wykonywać całkowicie ja.mi., do trzech wartości, przy pierwszym wykonaniu zewnętrznej pętli. Przy następnej iteracji zewnętrznej pętli wewnętrzna pętla „for” zostanie wykonana 3 razy ponownie, aby docenić 3 i tak dalej dla ostatniej iteracji. Wewnętrzna pętla zostanie powtórzona 9 razy, podczas gdy pętla zewnętrzna będzie obsługiwana 3 razy w ten sposób. Zewnętrzna pętla nie może przejść do następnego przyrostu, dopóki wewnętrzna pętla nie zostanie całkowicie wykonana 3 razy. Wewnętrzna pętla będzie odpowiedzialna za pokazanie liczby iteracji pętli zewnętrznej, a także wewnętrznej pętli za pomocą instrukcji „echo” w klauzuli „do”. Obie pętle zostały zakończone przez „gotowe”. Kod jest dołączony tutaj.

Po wykonaniu tego zaktualizowanego kodu z poleceniem BASH otrzymaliśmy wewnętrzną pętlę wykonaną 9 razy i.mi., 3 razy dla każdej iteracji zewnętrznej pętli. Dane wyjściowe jest prezentowane na przymocowanym obrazie.

$ Bash Bash.cii

Przykład 03: zagnieżdżony do pętli w jednej linii

Pętla zagnieżdżona „for” może być również używana w kodzie bash w jednym wierszu. Tak więc zaktualizowaliśmy ten sam plik bash po otwarciu go w edytorze Nano, jak poniżej. Do pierwszej pętli „for” użyliśmy wartości x, y i z. Do wewnętrznej pętli „dla” użyliśmy trzech liczb 1, 3 i 5. W ramach instrukcji „do” będą wyświetlane zarówno wewnętrzne, jak i zewnętrzne wartości iteracji pętli. Obie pętle kończą się przy użyciu klauzul „gotowych” pokazanych poniżej. Kod jest dołączony tutaj.

Po uruchomieniu tego kodu 1-liniowego pokazaliśmy poniższe wyjście. Dla każdej wartości pętli zewnętrznej pętla wewnętrzna jest wykonywana do trzech wartości i.mi., 1, 3, 5. Dane wyjściowe jest prezentowane na przymocowanym obrazie.

$ Bash Bash.cii

Przykład 04: zagnieżdżone dla pętli

Weźmy kolejny przykład, aby zilustrować działanie zagnieżdżonej pętli „for”. Tym razem używamy zewnętrznej pętli w sumie 10 iteracji, zaczynając od 1 do 10. W ramach tej pętli zastosowano kolejną pętlę „for”. Wewnętrzna pętla „dla” wykorzystano funkcję „SEQ” do utworzenia sekwencji dowolnego znaku pomnożonego przez wartość iteracji pętli zewnętrznej. Oznacza to, że wartość zewnętrznej pętli zdecyduje, ile znaków zostanie wyświetlonych na powładzie. W wewnętrznej pętli użyliśmy instrukcji „echo” za pomocą flagi „-n” do przetestowania, czy następny ciąg, który ma zostać włożony w instrukcji, jest jakiś znak lub jest pusty. Znak „*” został dodany jako wartość, którą należy pomnożyć przez numer iteracji. Pierwsze końce pętli „for” i kolejne stwierdzenie „echo” zostanie użyte do po prostu przerwę linii. Zewnętrzna pętla kończy się po 10 iteracjach. Zapiszmy ten kod, aby zobaczyć jego wynik na powładzie. Kod jest dołączony tutaj.

Po uruchomieniu tego kodu bashu otrzymaliśmy poniższy pokazany piękny wzór znaków „*” w sekwencji od 1 do 10 stopniowo wzrasta. Dane wyjściowe jest prezentowane na przymocowanym obrazie.

$ Bash Bash.cii

Wniosek

Podsumowując, chodziło o użycie zagnieżdżonej pętli „for” w skrypcie Bash Ubuntu 20.04 System Linux. Omówiliśmy przykłady, aby zobaczyć prostą pętlę „for” w Bash, zagnieżdżona pętla „for” i jednowierszową zagnieżdżoną pętlę „for” w skrypcie bash.