Un array è un insieme di elementi. In Bash, un array può contenere un mix di elementi di diversi tipi, ad es. Stringhe e numeri.
In questo tutorial, discutiamo come creare e utilizzare gli array in Bash. Tratteremo anche le operazioni sugli array come il ciclo, la stampa, l'acquisizione delle dimensioni e la modifica del contenuto.
Come creare array in Bash
Esistono due modi per creare array Bash:
Utilizzo della parola chiave dichiara
declare -a my_bash_array
questo creerà un array indicizzato con il nome "my_bash_array".
Inizializzazione di un array
Possiamo anche creare e inizializzare array al volo usando l'operatore di assegnazione =
e gli elementi tra parentesi graffe ()
:
my_bash_array=("apple" "orange" "banana")
Oppure, potremmo anche specificare l'indice in modo esplicito
my_bash_array[0]="apple"
my_bash_array[1]="orange"
my_bash_array[2]="banana"
Nota:non devono esserci spazi su entrambi i lati di = operatore. Lunghezza matrice Bash
Per ottenere la lunghezza o la dimensione di un array, utilizziamo ${#array_name[@]}
.
Ad esempio:
my_bash_array=(foo bar baz)
echo "the array contains ${#my_bash_array[@]} elements"
#Output
the array contains 3 elements
Loop array Bash
Per scorrere tutti gli elementi in un array Bash, possiamo usare il ciclo for:
#!/bin/bash
my_array=(foo bar baz)
# for loop that iterates over each element
for i in "${my_array[@]}"
do
echo $i
done
Uscita:
foo
bar
baz
Stampa di tutti gli elementi
Per stampare tutti gli elementi di un array senza un ciclo, possiamo usare la seguente sintassi:
echo ${my_array[@]}
Aggiunta di elementi all'array
Per aggiungere elementi a un array utilizziamo il +=
operatore. Questo aggiungerà un elemento alla fine dell'array.
Ad esempio:
my_array=(foo bar)
my_array+=(baz)
echo "${my_array[@]}"
foo bar baz
Oppure possiamo usare l'indice per aggiungere un elemento:
my_array=(foo bar)
my_array[2]=baz
echo "${my_array[@]}"
foo bar baz
Elimina elementi dall'array
Per eliminare un elemento da un array Bash, utilizziamo il unset
comando.
Ad esempio:
my_array=(foo bar baz)
unset my_array[1]
echo ${my_array[@]}
foo baz
Conclusione
In questo tutorial abbiamo trattato gli array Bash; come creare e inizializzare array in Bash e come ottenere la lunghezza, scorrere gli elementi, stampare gli elementi e modificare il contenuto di un array.