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
- 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 :
- tutoriels Bash notions de base (en anglais) : https://www.tutorialkart.com/bash-shell-scripting/bash-tutorial/