Istnieje wiele powodów, dla których można przywrócić tablicę bash:
Możesz wierzyć, że Bash traci zdolność do zwracania tablic funkcyjnych. Nie jest to jednak właściwe. Możliwe jest przeniesienie wynikającej tablicy do metody przez odniesienie, przyjmując wskazówki od programistów C/C ++. Taka strategia pozwala metodę nadal być wolna od odniesień do zmiennej globalnej. Poniższy artykuł pokazuje jasne przypadki tej sprawy.
Przykład 1: Zwracanie tablicy
Zaloguj się do systemu Linux i otwórz terminal polecenia, aby kontynuować. Utworzymy plik bash o nazwie „Skrypt.sh ”za pomocą dotykać polecenie, aby zwrócić tablicę za pomocą funkcji Bash. Skrypt jest następujący:
skrypt $ dotyk.cii
Możesz wyświetlić nowo utworzony plik w Dom informator. Otwórz ten plik i zapisz dołączony kod do niego według. Tutaj staramy się stworzyć tablicę asocjacyjną za pomocą argumentu w metodzie z dowolnej przepustki listy.
Początkowo stworzyliśmy funkcję bla().
Wewnątrz tego programu usunęliśmy termin „deklaracja”, który jest wstępnie skonfigurowanym poleceniem bash, które pozwala nam zmienić lub dostosowywać atrybuty, metody powłoki rozmazanej do zmiennych i zademonstrować wartości tych atrybutów wewnątrz Rozpiętość naszego terminala poleceń powłoki. Ponadto można go użyć do zdefiniowania długiej zmiennej. Wreszcie służy do definiowania zmiennych.
Dodaliśmy wartość „fooval” do tablicy „ARR”.
Słowo kluczowe „-a” służy do tworzenia Nazwy tablica asocjacyjna, jeśli jest obsługiwana. Musimy użyć listy/tablicy jako zmiennej globalnej, co oznacza, że tylko metoda, a nie skrypt, może wykonać tę akcję.
Stworzyliśmy także kolejną tablicę o nazwie „Myarr” do użycia jako odniesienie. Bash pozwala nazwa względnej zmiennej ARR odmiennej od nazwy względnej zmiennej Myarr.
Następnie w ósmej linii przekazaliśmy tablicę „Myarr” do bashu bla() funkcjonowanie jako odniesienie.
W przeszłości wykorzystaliśmy pętlę „for” do wydrukowania zarówno tablic „ARR”, jak i „Myarr” do bla() funkcjonować.
Teraz sprawdzimy wynik tego kodu. Wykonaj polecenie bash, aby uruchomić powyższy kod. Możesz zobaczyć, że tablica została zwrócona do funkcji, a następnie wydrukowana.
Skrypt $ bash.cii
Przykład 2: Zwracanie kolejnej tablicy
Spójrzmy na kolejny przykład zwracania tablic do funkcji. Otwórz terminal poleceń i utwórz nowy plik o nazwie „OpenVPN.log ”za pomocą dotykać polecenie, jak następuje:
$ Touch OpenVpn.dziennik
Teraz otwórz „OpenVPN.Zaloguj się ”i zapisz następujący tekst w tym pliku, jak pokazano. Zapisz ten plik i zamknij go.
Ponownie otwórz powłokę poleceń i utwórz kolejny plik o nazwie „Skrypt.sh ”, używając dotykać Polecenie do dodania skryptu bash do pliku.
skrypt $ dotyk.cii
Następnie otwórz „Skrypt.plik sh ”i dołącz następujący kod do tego pliku według. Zapisz i zamknij ten plik. Ten skrypt użyje metody odczytu wartości/ciągów z dokumentu i zwraca tablicę:
Spójrzmy teraz szczegółowo na działanie tego skryptu.
Sprawdźmy teraz wyjście tego skryptu Bash. Uruchom polecenie bash, aby wykonać „skrypt.plik sh ”. Jak widać, pierwsza instrukcja Echo wydrukuje cały tekst z „OpenVPN.Plik dziennika, który został zapisany w tablicy „klientów” jako jedna linia. Druga instrukcja echo wyświetli komunikat ciąg. Trzecia instrukcja Echo wyświetli tablicę „klientów” w formularzu indeksowanym, ponieważ właśnie została przekonwertowana. Czwarty wyświetli wiadomość ponownie. Ostateczny wyświetli zawartość tablicy „klientów” indywidualnie.
Wniosek
W tym artykule pokazano, jak zwrócić tablice (zwłaszcza tablice asocjacyjne) do funkcji za pomocą wbudowanego polecenia „Deklaruj” z dwoma przykładami. Mam nadzieję, że ten artykuł pomógł ci lepiej zrozumieć ten temat.