- Zdefiniuj tablicę według indeksu
- Zdefiniuj tablicę z wieloma wartościami
- Zdefiniuj tablicę asocjacyjną
- Policz wartości tablicy
- Przeczytaj wartości tablicy za pomocą pętli
- Przeczytaj poszczególne wartości tablicy
- Wstaw wartości tablicy
- Wczytaj zawartość pliku do tablicy
- Połącz wartości tablicy
- Zmodyfikuj wartości tablicy
- Usuń wartości tablicy
- Wyszukaj i zamień wartości tablicy
- Użyj tablicy jako argumentu funkcji
- Zwróć tablicę z funkcji
- Spraw, aby tablica była pusta
Zdefiniuj tablicę według indeksu
Metodę deklarowania tablicy poprzez podanie sekwencyjnych lub niesekwencyjnych indeksów liczbowych pokazano w poniższym skrypcie. Ten typ tablicy nazywany jest tablicą numeryczną. Tutaj tablica „$books” jest tworzona poprzez zdefiniowanie trzech indeksów sekwencyjnych, a tablica „$products” jest tworzona poprzez definiowanie czterech indeksów niesekwencyjnych. Wszystkie wartości obu tablic zostaną wydrukowane za pomocą funkcji „printf”.
#!/bin/bash
#Zdefiniuj indeks tablicy w kolejności
książki [ 0 ] = „Nauka powłoki bash”
książki [ 1 ] = „Opcje cyberbezpieczeństwa z bashem”
książki [ 2 ] = „Wskazówki dotyczące linii poleceń Bash Pro”
Echo „Wszystkie wartości pierwszej tablicy:”
drukuj „%s\n” ' ${książki[@]} '
#Zdefiniuj indeks tablicy w kolejności niesekwencyjnej
produkty [ 10 ] = 'Długopis'
produkty [ 5 ] = 'Ołówek'
produkty [ 9 ] = „Regularny”
produkty [ 4 ] = „Papier formatu A4”
Echo
Echo „Wszystkie wartości drugiej tablicy:”
drukuj „%s\n” ' ${produkty[@]} '
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Wartości obu tablic są wypisywane na wyjściu. Kolejność indeksów jest zachowywana w momencie drukowania dla tablicy indeksów niesekwencyjnych:
Zdefiniuj tablicę z wieloma wartościami
Tablicę numeryczną z wieloma wartościami można zadeklarować za pomocą polecenia „declare” z opcją -a lub bez użycia polecenia „declare”. W poniższym skrypcie pierwsza tablica jest deklarowana za pomocą polecenia „declare”, a druga tablica jest tworzona bez użycia polecenia „declare”.
#!/bin/bash
#Zadeklaruj tablicę numeryczną za pomocą słowa kluczowego „deklaruj”.
ogłosić -A nazwy = ( 'Michael' „Dawid” „Aleksander” 'Tomasz' „Robert” „Ryszard” )
#Wydrukuj wartości tablicy
Echo „Wszystkie wartości pierwszej tablicy:”
drukuj „%s\n” ' ${imiona[@]} '
#Zadeklaruj tablicę numeryczną bez słowa kluczowego „deklaruj”.
książki = ( „Poradniki dotyczące skryptów powłoki” „Bish Bash Bosh!” „Szybko naucz się Basha” )
#Dodaj nową linię
Echo
#Wydrukuj wartości tablicy
Echo „Wszystkie wartości drugiej tablicy:”
drukuj „%s\n” ' ${książki[@]} '
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Wartości obu tablic są drukowane tutaj:
Zdefiniuj tablicę asocjacyjną
Tablica zawierająca wartość ciągu jako indeks nazywana jest tablicą asocjacyjną. Opcja -A jest używana z poleceniem „deklaruj” w Bash, aby utworzyć asocjacyjną tablicę Bash. W poniższym skrypcie pierwsza tablica asocjacyjna jest deklarowana poprzez osobne podanie indeksów, a druga tablica jest deklarowana poprzez podanie wszystkich par klucz-wartość w momencie deklaracji tablicy.
#!/bin/bash#Zadeklaruj zmienną tablicy asocjacyjnej bez wartości
ogłosić -A pracownik
#Przypisz wartość osobno, definiując indeks
pracownik [ 'ID' ] = „78564”
pracownik [ 'nazwa' ] = „Dostępni aktorzy”
pracownik [ 'post' ] = „CEO”
pracownik [ 'wynagrodzenie' ] = 300 000
#Wydrukuj dwie wartości tablicy
Echo 'Dowód pracownika: ${pracownik[id]} '
Echo 'Imię i nazwisko pracownika: ${pracownik[imię]} '
#Zadeklaruj tablicę asocjacyjną z wartościami
ogłosić -A kurs = ( [ kod ] = „CSE-206” [ nazwa ] = „Programowanie obiektowe” [ Godzina kredytowa ] = 2.0 )
#Dodaj nową linię
Echo
#Wydrukuj dwie wartości tablicy drugiej tablicy
Echo „Nazwa kursu: ${kurs[nazwa]} '
Echo 'Godzina kredytowa: ${kurs[credit_hour]} '
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Poszczególne wartości tablicy asocjacyjnej są tutaj drukowane poprzez podanie wartości klucza lub indeksu:
Policz wartości tablicy
Sposób zliczania sumy elementów tablicy numerycznej i tablicy asocjacyjnej pokazano w poniższym skrypcie:
#!/bin/bash#Zadeklaruj tablicę numeryczną
ogłosić -A nazwy = ( 'Michael' „Dawid” „Aleksander” 'Tomasz' „Robert” „Ryszard” ) ;
Echo „Długość tablicy numerycznej wynosi ${#imiona[@]} '
#Zadeklaruj tablicę asocjacyjną
ogłosić -A kurs = ( [ kod ] = „CSE-206” [ nazwa ] = „Programowanie obiektowe” [ Godzina kredytowa ] = 2.0 )
Echo „Długość tablicy asocjacyjnej wynosi ${#kurs[@]} '
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Długość tablicy numerycznej i asocjacyjnej jest drukowana tutaj:
Przeczytaj wartości tablicy za pomocą pętli
Sposób odczytywania wszystkich wartości tablicy numerycznej i tablicy asocjacyjnej za pomocą pętli „for” przedstawia poniższy skrypt:
#!/bin/bash#Zadeklaruj tablicę numeryczną
ogłosić -A książki = ( „Poradniki dotyczące skryptów powłoki” „Bish Bash Bosh!” „Szybko naucz się Basha” )
#Wydrukuj wartości tablicy numerycznej
Echo „Wartości tablicy numerycznej to:”
Do W W ' ${książki[@]} '
Do
Echo ' $w '
zrobione
Echo
#Zadeklaruj tablicę asocjacyjną z wartościami
ogłosić -A klienci = (
[ ID ] = „H-5623”
[ nazwa ] = 'Pan. Ahnaf”
[ adres ] = „6/A, Dhanmondi, Dhaka”.
[ telefon ] = '+8801975642312' )
#Wydrukuj wartości tablicy asocjacyjnej
Echo „Wartości tablicy asocjacyjnej to:”
Do k W ' ${!klienci[@]} '
Do
Echo ' tys. $ => ${klienci[$k]} '
zrobione
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Tutaj na wyjściu wypisywane są wartości tablicy numerycznej i par klucz-wartość tablicy asocjacyjnej:
Przeczytaj konkretny zakres wartości tablicy
Wartości tablicy określonego zakresu indeksów pokazano w poniższym skrypcie. W skrypcie zdefiniowana jest tablica numeryczna złożona z czterech elementów. Dwie wartości tablicy z drugiego indeksu tablicy zostaną wydrukowane później.
#!/bin/bash#Zadeklaruj tablicę numeryczną
ogłosić -A ciastka = ( 'Ciasto czekoladowe' 'Ciasto waniliowe' „Ciasto z czerwonego aksamitu” 'ciasto truskawkowe' )
#Wydrukuj poszczególne wartości tablicy
Echo „Drugi i trzeci element wartości tablicy to:”
drukuj „%s\n” ' ${ciasta[@]:1:2} '
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Druga i trzecia wartość tablicy to „Ciasto waniliowe” i „Ciasto czerwonego aksamitu”, które zostaną wydrukowane na wyjściu:
Wstaw wartości tablicy
Metodę dodawania wielu wartości na końcu tablicy pokazano w poniższym skrypcie. Główna tablica „$books” zawiera trzy elementy, a na końcu tablicy „$books” dodane są dwa elementy.
#!/bin/bash#Zadeklaruj tablicę numeryczną
ogłosić -A książki = ( „Poradniki dotyczące skryptów powłoki” „Bish Bash Bosh!” „Szybko naucz się Basha” )
#Wydrukuj wartości tablicy przed wstawieniem
Echo „Wartości tablicy:”
drukuj „%s\n” ' ${książki[@]} '
Echo
książki = ( ' ${książki[@]} ' „Wiersz poleceń systemu Linux i Biblia skryptów powłoki” „Zaawansowany przewodnik po skryptach Bash autorstwa Mendela Coopera” )
#Wydrukuj wartości tablicy po wstawieniu
Echo „Wartości tablicy po wstawieniu dwóch wartości:”
drukuj „%s\n” ' ${książki[@]} '
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Wartości tablicy przed i po wstawieniu nowych wartości są wypisywane na wyjściu:
Wczytaj zawartość pliku do tablicy
Utwórz plik tekstowy o nazwie „fruits.txt” z następującą zawartością, aby przetestować skrypt w tym przykładzie:
owoce.txt
MangoChlebowiec różnolistny
Ananas
Pomarańczowy
Banan
W poniższym skrypcie zawartość pliku jest przechowywana w tablicy o nazwie „$data”. Tutaj każda linia pliku jest przechowywana jako każdy element tablicy. Następnie drukowane są wartości tablicy.
#!/bin/bash#Odczytaj nazwę pliku od użytkownika
Czytać -P „Wprowadź nazwę pliku:” Nazwa pliku
Jeśli [ -F $nazwa pliku ]
Następnie
#Przeczytaj zawartość pliku do tablicy'
dane = ( ` kot ' $nazwa pliku ' ` )
Echo „Zawartość pliku znajduje się poniżej:”
#Przeczytaj plik linia po linii
Do linia W ' ${dane[@]} '
Do
Echo $linia
zrobione
Być
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Dane wyjściowe wyświetlane przez polecenie „cat” i dane wyjściowe skryptu są podobne, ponieważ dostęp do tego samego pliku można uzyskać za pomocą polecenia „cat” i skryptu:
Połącz wartości tablicy
Nowa tablica jest tworzona przez połączenie wartości wielu tablic. W poniższym skrypcie zdefiniowano dwie tablice numeryczne ciągów znaków. Następnie tworzona jest nowa tablica poprzez połączenie wartości tych tablic.
#!/bin/bash#Zadeklaruj pierwszą tablicę
ogłosić -A nazwaLista1 = ( 'Michael' „Dawid” „Aleksander” 'Tomasz' )
Echo „Pierwsze wartości tablicy to:”
drukuj '%S, ' ${nameList1[@]}
Echo
#Zadeklaruj drugą tablicę
ogłosić -A nazwaLista2 = ( „Robert” „Ryszard” )
Echo „Drugie wartości tablicy to:”
drukuj '%S, ' ${nameList2[@]}
Echo
#Utwórz nową tablicę, łącząc dwie tablice
połączona_tablica = ( ' ${nameList1[@]} ' ' ${nameList2[@]} ' )
Echo „Połączone wartości tablicy to:”
drukuj '%S, ' ${połączona_tablica[@]}
Echo
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. W tym przypadku na wyjściu wypisywane są wartości trzech tablic. Trzecia tablica zawiera wszystkie wartości pierwszej i drugiej tablicy:
Zmodyfikuj wartości tablicy
Metodę aktualizacji jednej lub większej liczby wartości tablicy poprzez wzmiankę o indeksie pokazano w następującym skrypcie:
#!/bin/bash#Zadeklaruj pierwszą tablicę
ogłosić -A Lista imion = ( 'Michael' „Dawid” „Aleksander” 'Tomasz' )
Echo „Wartości tablicy:”
drukuj '%S, ' ${lista nazw[@]}
Echo
#Zaktualizuj drugą wartość tablicy
Lista imion [ 1 ] = „Robert”
Echo „Wartości tablicy po aktualizacji:”
drukuj '%S, ' ${lista nazw[@]}
Echo
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Wartości głównej tablicy i zaktualizowanych tablic są wypisywane na wyjściu:
Usuń wartości tablicy
Polecenie „unset” służy do usunięcia konkretnego elementu lub wszystkich elementów tablicy. W poniższym skrypcie drugi element tablicy został usunięty.
#!/bin/bash#Zadeklaruj tablicę numeryczną
ogłosić -A książki = ( „Poradniki dotyczące skryptów powłoki” „Bish Bash Bosh!” „Szybko naucz się Basha” )
#Wydrukuj wartości tablicy przed usunięciem
Echo „Wartości tablicy:”
drukuj „%s\n” ' ${książki[@]} '
Echo
#Usuń drugi element
nieoprawny książki [ 1 ]
#Wydrukuj wartości tablicy po usunięciu
Echo „Wartości tablicy po usunięciu drugiej wartości:”
drukuj „%s\n” ' ${książki[@]} '
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Na wyjściu wypisywane są wartości tablicy głównej oraz wartości tablicy po usunięciu jednej wartości:
Wyszukaj i zamień wartości tablicy
W poniższym skrypcie konkretna wartość tablicy jest zastępowana inną wartością, jeśli wartość wyszukiwania zdefiniowana we wzorcu zostanie dopasowana do dowolnej wartości tablicy „$names”.
#!/bin/bash#Zadeklaruj pierwszą tablicę
ogłosić -A nazwy = ( 'Michael' „Dawid” „Aleksander” 'Tomasz' )
#Wydrukuj oryginalne wartości tablicy
Echo „Oryginalne wartości tablicy:”
drukuj „%s\n” ' ${imiona[@]} '
#Generuj ciąg znaków po zastąpieniu wartości tablicy
zaktualizowana tablica = ${names[@]/Alexander/Richard}
#Wydrukuj wartości tablicy po zamianie
Echo „Wartości tablicy po zamianie:”
drukuj „%s\n” ' ${updated_array[@]} '
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Na wyjściu wypisywane są wartości tablicy głównej oraz wartości tablicy po zastąpieniu wartości:
Użyj tablicy jako argumentu funkcji
W poniższym skrypcie zmienna tablicowa jest przekazywana jako argument funkcji, a wartości tej tablicy są później drukowane.
#!/bin/bash#Zadeklaruj tablicę liczb
ogłosić -A liczby = ( 10 6 Cztery pięć 13 8 )
#Zdefiniuj funkcję, która będzie przyjmować wartość argumentu
funk ( )
{
#Przeczytaj pierwszy argument
liczby = 1 $
#Wydrukuj wartości tablicy
Echo „Wartości tablicy:”
drukuj '%d\n' ' ${numery[@]} '
}
#Wywołaj funkcję z tablicą jako argumentem
funk ' ${numery[@]} '
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe:
Zwróć tablicę z funkcji
W poniższym skrypcie funkcja jest wywoływana z czterema argumentami numerycznymi. Tworzona jest tablica z wartościami argumentów, która jest zwracana przez funkcję do osoby wywołującej.
#!/bin/bash#Zdefiniuj funkcję odczytującą cztery wartości argumentów
funk ( )
{
#Przeczytaj wartości argumentów
liczby = ( 1 $ 2 dolary 3 dolary 4 dolary )
#Zwróć tablicę
Echo ' ${numery[@]} '
}
#Wywołaj funkcję z trzema argumentami
wartość_powrotu =$ ( funk 78 Cztery pięć 90 23 )
#Zapisz zwracaną wartość w tablicy
Czytać -A na jednego <<< $wartość_powrotu
#Wydrukuj wartości zwróconej tablicy
Echo „Wartości tablicy to:”
Do W W ' ${num[@]} '
Do
Echo ' $w '
zrobione
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe:
Spraw, aby tablica była pusta
Poniższy skrypt pokazuje metodę opróżniania tablicy za pomocą polecenia „unset”. Całkowita liczba wartości tablicy jest drukowana przed i po opróżnieniu tablicy.
#!/bin/bash#Zadeklaruj tablicę liczb
ogłosić -A liczby = ( 10 6 Cztery pięć 13 80 )
Echo „Liczby wartości tablicy: ${#numery[@]} '
#Uczyń tablicę pustą
nieoprawny liczby
Echo „Liczba wartości tablicy po opróżnieniu tablicy: ${#numery[@]} '
Wyjście :
Po wykonaniu skryptu pojawiają się następujące dane wyjściowe. Po opróżnieniu tablicy liczba elementów tablicy osiągnęła 0:
Wniosek
W tym samouczku na 15 prostych przykładach pokazano różne metody deklarowania, uzyskiwania dostępu, modyfikowania i usuwania zmiennych tablicowych w skrypcie Bash. Mamy nadzieję, że ten samouczek pomoże użytkownikom Bash szczegółowo poznać zastosowania tablicy Bash.