Récapitulatif sur les array en bash...

Référence : petit résumé de l’utilisation des array en bash

, par clem

comme tous les langages de programmation bash propose l’utilisation de tableaux (array) permettant le stockage de variables dans le but de boucler dessus.
Un petit résumé de l’utilisation des array.

NB gestion des noms d’éléments de l’array avec des espaces :
Bash a une variable interne $IFS qui détermine la césure des mots. Par défaut, elle contient . Il faut la mettre à vide si l’on souhaite utiliser des mots avec espace dans les éléments de l’array :

IFS=''

Créer un array

Tlegumes=(patate carotte tomate "choux rouge")

Accéder à un élément d’array par son index

echo ${Tlegumes[2]}  # tomate

Récupérer le nombre d’éléments d’un array

echo ${#Tlegumes[@]}  # 4

Afficher toutes les valeurs d’un array

echo ${Tlegumes[*]}  # patate carotte tomate choux rouge

Boucler dans un array (simple)

for legume in ${Tlegumes[@]}; do
    echo $legume   
done

# patate
# carotte
# tomate
# choux\ rouge

Boucler dans un array (avec index explicite)

for (( i=0; i<${#Tlegumes[@]}; i++ )); do
    echo "n° $i : ${Tlegumes[$i]}"
done

# n° 0 : patate
# n° 1 : carotte
# n° 2 : tomate
# n° 3 : choux\ rouge

Ajouter un élément à un array existant

Tlegumes+=(poireau) 

Supprimer un élément d’un array

unset Tlegumes[2]  # la tomate n'est pas un légume !

Références :