Les listes et les dictionnaires avec Bash¶
Les listes (indexed array
)¶
Création d'une liste¶
declare -a MA_LIST
Modification de la liste¶
- Ajout d'éléments
MA_LIST=(1er_element 2nd_element) MA_LIST+=("3eme élément avec des espaces") MA_LIST[3]="4eme élémént"
- Changement de valeur d'un élément
MA_LIST[0]="la nouvelle valeur qu'on met pour le 1er élément" MA_LIST[1]="la valeur pour le 2eme élément"
- Traitement sur l'ensemble des éléments
- en utilisant la liste des index
${!MA_LIST[@]}
:
for i in "${!MA_LIST[@]}" ; do echo "index = $i - value = ${MA_LIST[i]}" done
- en utilisant la liste des valeurs
${MA_LIST[@]}
for i in "${MA_LIST[@]}" ; do echo "value = ${i}" done
- nombre d'éléments:
echo "nombre d'éléments : ${MA_LIST[]}
- en utilisant la liste des index
Les tableaux (associative arrays
)¶
Création d'un tableau¶
declare -A MY_ARRAY
- Ajout d'éléments
MY_ARRAY=([clé1]=1er_element [clé2]=2nd_element) MY_ARRAY+=([clé3]="3eme élément avec des espaces") MY_ARRAY[dernière_clé]="4eme élément"
- Changement de valeur d'un élément
MY_ARRAY[clé1]="la nouvelle valeur qu'on met pour l'élément associé à `clé1`"
- Traitement sur l'ensemble des éléments
- en utilisant la liste des clés
${!MY_ARRAY[@]}
:
for i in "${!MY_ARRAY[@]}" ; do echo "key = $i - value = ${MY_ARRAY[i]}" done
- en utilisant la liste des valeurs
${MY_ARRAY[@]}
for i in "${MY_ARRAY[@]}" ; do echo "value = ${i}" done
- nombre d'éléments:
echo "nombre d'éléments : ${MY_ARRAY[]}
- en utilisant la liste des clés
Info
Pour aller plus loin (en anglais): - linuxjournal.com - le manuel bash - opensource.com