Bash „for” pętla, aby iterować przez tablicę

Bash „for” pętla, aby iterować przez tablicę

Pętla „for” jest podstawową częścią prawie każdego języka programowania. Pomaga napisać kod, który chcesz powtórzyć w pożądanej liczbie razy. W systemach opartych na systemie Linux Bash ma również dedykowaną składnię, która umożliwia użytkownikom wykorzystanie pętli do automatyzacji codziennych zadań za pomocą skryptów.

Chociaż możesz użyć pętli „for” w praktycznie nieskończonej liczbie scenariuszy, ten przewodnik przyjrzy się trzema podstawowymi scenariuszami, które można podłączyć do bardziej rozległych i złożonych scenariuszy, aby osiągnąć większe cele. Zbadamy trzy podstawowe scenariusze, które wykorzystują pętlę do iteracji za pośrednictwem tablicy.

Aby zademonstrować działanie pętli „dla”, zademonstruję skrypty bash za pomocą Ubuntu 22.04.

Tworzenie pliku Bash

Zanim zbadamy scenariusze, utwórzmy nasz plik bash, który będzie zawierał nasz skrypt bash. Po prostu przejdź do żądanego katalogu w terminalu i utwórz plik za pomocą polecenia „Nano” lub „dotyk”.

W tym przewodniku utworzę „test.plik sh ”w moim katalogu„ dokumenty ”.

To otworzy Twój plik bash za pomocą edytora tekstu nano.

Tutaj możesz zacząć pisać żądany kod w pliku skryptu. Zacznijmy od zbadania scenariuszy.

Używanie pętli „dla” do wyświetlania zawartości tablicy

Po otwarciu plik bash w edytorze możemy zacząć dodawać do niego kod. Aby określić, że jest to plik bash, musisz wskazać następujące:

„#! /bin/bash ”

Najpierw musimy zdefiniować tablicę i przypisać do niej pięć wartości. Przypiszmy nazwiska John, Jane, Jim, Jack i Janis.

Teraz zaczyna się zabawa; Musimy skonfigurować pętlę dla dla iteratora „I”, będzie iterować zawartość tablicy i wykona funkcję wyświetlania. Możesz to zrobić jako takie:

Ta linia ustawia pętlę. Z symbolem „$” określamy, że staramy się uzyskać dostęp do wartości określonego indeksu tablicy. Symbol „@” odnosi się do indeksu tablicy, który zawiera wartość, do której próbujemy uzyskać dostęp za pomocą iteratora „i”.

W skryptach Bash składnia nakazuje, aby określić naszą funkcję w ramach słów kluczowych „do” i „wykonanych”. Tak więc, gdy próbujemy wyświetlić zawartość tablicy, wpiszmy ją, jak pokazano poniżej:

To przejdzie przez całą zawartość tablicy i wyświetli je jeden po drugim. Teraz nasz skrypt wygląda tak:

Naciśnij „Ctrl+O”, aby zapisać zawartość tego pliku skryptu i „Ctrl+X”, aby wyjść z edytora Nano.

Uruchamianie skryptu

Po całym kodzie możesz się zastanawiać, w jaki sposób możesz wykonać ten kod, aby zobaczyć dane wyjściowe. W terminalu wpisz:

Test $ Bash.cii

Tutaj możesz zobaczyć wyświetlane nazwy, ponieważ je zdefiniowaliśmy.

Korzystanie z pętli „dla” do napisania zawartości tablicy do pliku tekstowego

Ten scenariusz działa dobrze w przypadkach, w których otrzymujemy wyniki określonego scenariusza w tablicy i musimy wyświetlić zawartość tablicy do przyszłego odniesienia lub innych obliczeń.

Weźmy więc kod, który napisaliśmy w poprzednim scenariuszu i zmodyfikujemy go. Zamiast drukować każdy wpis w tablicy jeden po drugim, musimy je napisać w pliku tekstowym. Otwórz plik skryptu za pomocą:

Test $ nano.cii

Teraz, ponieważ mamy tablicę o nazwie „Writers”, zapiszymy je do pliku o nazwie „pisarze.txt ”za pomocą symboli >>. Więc twój kod powinien wyglądać tak:

Zapisz i wyjdź z pliku, aby uruchomić skrypt.

Uruchamianie skryptu

Podobnie jak w poprzednim scenariuszu, możesz uruchomić zaktualizowany skrypt za pomocą:

Test $ Bash.cii

Tym razem, gdy uruchomisz kod, zobaczysz, że w terminalu nie będzie żadnego wyjścia. Wynika to z faktu, że kod wysyła wszystko do pliku tekstowego. Plik tekstowy zostałby utworzony w tym samym katalogu.

Po otwarciu pliku (możesz po prostu dwukrotnie kliknąć plik, aby go otworzyć), zobaczysz, że nazwy zostały dodane do pliku:

Używając pętli „dla” do porównania danego ciągu z elementami tablicy

Do tego scenariusza użyjemy tego samego skryptu Bash i rozszerzymy go dalej.

Główna struktura naszego kodu pozostanie taka sama i będziemy musieli zaktualizować zawartość kodu pętli. Za pomocą tego samego skryptu zobaczymy, czy nasza podana nazwa pasuje do dowolnego z nazwisk w tablicy; Jeśli tak, pozdrawiamy ich. W przypadku innych nazw tablicy po prostu je wyświetli.

Otwórzmy nasz plik za pomocą „Nano”:

Test $ nano.cii

Teraz chcielibyśmy zaktualizować kod między słowami kluczowymi DO i wykonani do następujących:

Ten kod sprawdzi w momencie wykonywania, jeśli którekolwiek z nazwisk w tablicy pasuje do „Janis”, a następnie wyświetli „Cześć Janis”. W przeciwnym razie po prostu wyświetl nazwy. Twój kod powinien wyglądać tak:

Aby móc uruchomić ten kod, musisz zapisać plik i wyjść z edytora tekstu.

Uruchamianie skryptu

Kiedy wrócisz do terminalu, możesz użyć tego samego, aby wykonać zmodyfikowany skrypt bash:

Test $ Bash.cii

Wniosek

Te trzy są bardzo prymitywnymi przykładami używania pętli „dla” w skryptach bash. W dalszym ciągu dowiadujesz się więcej o tym, co mogą zrobić te skrypty, zobaczysz, że ta pętla jest bardzo przydatna i może być wykorzystywana w bardzo złożonych kodach. Aby lepiej zrozumieć skrypty i użyć go w codziennych operacjach, musisz zrozumieć te podstawowe komponenty kodu i tego, co robi składnia.

Jeśli napotkasz jakiekolwiek problemy z którymkolwiek z tych scenariuszy lub chcesz dowiedzieć się więcej o pętlach lub skryptach bash, zapraszam do angażowania nas za pośrednictwem sekcji komentarzy, a my z przyjemnością Ci pomożemy. Dzięki.