Bash Assegnazioni di array


Esempio

Assegnazione lista

Se hai familiarità con Perl, C o Java, potresti pensare che Bash userebbe le virgole per separare gli elementi dell'array, tuttavia non è questo il caso; invece, Bash utilizza gli spazi:

 # Array in Perl
 my @array = (1, 2, 3, 4);
 # Array in Bash
 array=(1 2 3 4)

Crea una matrice con nuovi elementi:

array=('first element' 'second element' 'third element')

Assegnazione di pedici

Crea una matrice con indici di elementi espliciti:

array=([3]='fourth element' [4]='fifth element')

Assegnazione per indice

array[0]='first element'
array[1]='second element'

Assegnazione per nome (array associativo)

4.0
declare -A array
array[first]='First element'
array[second]='Second element'

Assegnazione dinamica

Crea una matrice dall'output di un altro comando, ad esempio usa seq per ottenere un intervallo da 1 a 10:

array=(`seq 1 10`)

Assegnazione dagli argomenti di input dello script:

array=("$@")

Assegnazione all'interno di loop:

while read -r; do
    #array+=("$REPLY")     # Array append
    array[$i]="$REPLY"     # Assignment by index
    let i++                # Increment index 
done < <(seq 1 10)  # command substitution
echo ${array[@]}    # output: 1 2 3 4 5 6 7 8 9 10

dove $REPLY è sempre l'input corrente