Tablice asocjacyjne w BASH-u 4+

Stronę tą wyświetlono już: 226 razy

W BASH-u w wersji 4+ można deklarować tablice asocjacyjne za pomocą polecenia declare w następujący sposób:

Listing 1
  1. declare -A nazwa_tablicy;

Dodawanie elementów wygląda następująco:

Listing 2
  1. nazwa_tablicy["klucz1"]="wartość1";
  2. nazwa_tablicy["klucz2"]="wartość2";

Odwołanie się do elementu tablicy:

Listing 3
  1. echo ${nazwa_tablicy["klucz1"]};

Wynik:

wartość1

Iterowanie po elementach tablicy:

Listing 4
  1. for key in "${!nazwa_tablicy[@]}";
  2. do
  3. echo "Klucz: $key; Wartość: ${nazwa_tablicy[$key]}";
  4. done

Wynik działania:

Klucz: klucz2; Wartość: wartość2
Klucz: klucz1; Wartość: wartość1

Warto nadmienić, że kolejność dodawania elementów do tablicy asocjacyjnej jest losowa.

Możliwe jest również iterowanie po wartościach tablicy:

Listing 5
  1. for key in "${nazwa_tablicy[@]}";
  2. do
  3. echo "Wartość: ${nazwa_tablicy[$key]}";
  4. done

Wynik działania:

Wartość: wartość2
Wartość: wartość1

Komentarze