Questo script Bash (fetch_address.sh) illustra l'uso delle array associative (declare -A) per memorizzare e recuperare dati utilizzando chiavi stringa, simili a dizionari o hash map in altri linguaggi di programmazione.
Lo script esegue le seguenti operazioni:
-
Dichiarazione dell'array associativo:
declare -A addressLa riga
declare -A addressdichiara una variabile chiamataaddresscome un'array associativa. Questo permette di usare stringhe (nomi) come indici per accedere ai valori, anziché solo numeri interi. -
Assegnazione dei valori:
address[Charles]="414 W. 10th Ave., Baltimore, MD 21236" address[John]="202 E. 3rd St., New York, NY 10009" address[Wilma]="1854 Vermont Ave, Los Angeles, CA 90023"
Vengono assegnati indirizzi a chiavi come "Charles", "John" e "Wilma". Ogni chiave è racchiusa tra parentesi quadre.
-
Accesso e stampa dei valori:
echo "Charles's address is ${address[Charles]}." echo "Wilma's address is ${address[Wilma]}." echo "John's address is ${address[John]}."
I valori associati a specifiche chiavi vengono recuperati e stampati. La sintassi
${array_name[key]}viene usata per accedere al valore. -
Stampa delle chiavi (indici):
echo "${!address[*]}"
Questa riga speciale stampa tutte le chiavi (o indici) definite nell'array associativo. L'uso di
!prima del nome dell'array e[*]indica che si vogliono elencare le chiavi anziché i valori.
- Salva il codice in un file, ad esempio
fetch_address.sh. - Rendilo eseguibile:
chmod +x fetch_address.sh. - Eseguilo nel tuo terminale:
./fetch_address.sh
- Bash 4+: Le array associative sono una funzionalità introdotta in Bash versione 4.0 e successive. Questo script non funzionerà con versioni precedenti di Bash (es. Bash 3.x). Puoi controllare la tua versione di Bash con
bash --version. - Flessibilità: Le array associative sono estremamente utili per memorizzare dati correlati in cui le informazioni sono accessibili tramite un nome descrittivo (la chiave) anziché un indice numerico.