Array in bash pt 2

Scritto da il
🍒 Cherry Bin

Array parte 1 Array parte 3

Generalmente in bash potete eliminare il valore di una variabile con l’istruzione unset

a="valore"

unset a

echo $a

Questo vale a maggior ragione per gli array e per ogni singolo elemento. Supponiamo di avere il solito vettore riempito sequenzialmente:

declare -a vettore

for i in $(seq 0 9); do 
        vettore[$i]=$i
done

Quindi eliminiamo il 5 elemento:

unset vettore[5]

Che succede se stampiamo le variabili?

echo ${vettore[*]}

Saranno stampati tutti gli elementi tranne il 5. ma che succede se stampiamo ora il 5 elemento?

echo ${vettore[5]}

Semplicemente non verrà stampato nulla, rimane un buco nella nostra struttura. La cancellazione di un elemento in bash non può quindi essere usata per simulare un array dinamico! Se vogliamo quindi operare un vettore come se fosse dinamico, dobbiamo studiare delle funzioni apposite. Vedremo nelle prossime guide come fare