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 :

  1. IFS=''

Créer un array

  1. Tlegumes=(patate carotte tomate "choux rouge")

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

  1. echo ${Tlegumes[2]}  # tomate

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

  1. echo ${#Tlegumes[@]}  # 4

Afficher toutes les valeurs d’un array

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

Boucler dans un array (simple)

  1. for legume in ${Tlegumes[@]}; do
  2.     echo $legume  
  3. done
  4.  
  5. # patate
  6. # carotte
  7. # tomate
  8. # choux\ rouge

Boucler dans un array (avec index explicite)

  1. for (( i=0; i<${#Tlegumes[@]}; i++ )); do
  2.     echo "n° $i : ${Tlegumes[$i]}"
  3. done
  4.  
  5. # n° 0 : patate
  6. # n° 1 : carotte
  7. # n° 2 : tomate
  8. # n° 3 : choux\ rouge

Ajouter un élément à un array existant

  1. Tlegumes+=(poireau)

Supprimer un élément d’un array

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

Références :