Utiliser Array dans Linux Bash
Bash a une structure de tableau (certains langages l’appellent une liste). Dans cet article, nous allons vous expliquer cette structure. Plus tard, nous examinerons les sujets suivants dans les scripts Bash.
- Déclaration de tableau
- Accéder aux valeurs du tableau
- Ajouter une nouvelle valeur au tableau
- Supprimer une valeur du tableau
Un tableau est une structure de données contenant des données similaires ensemble. Chaque donnée du tableau a un index, et l’index du premier élément est 0
. Nous pouvons accéder à ces données séquentiellement avec une boucle ou individuellement en utilisant l’index de données. Nous pouvons également modifier le tableau, ajouter de nouvelles valeurs et supprimer des valeurs existantes.
Utiliser un tableau dans Bash
Maintenant que nous savons ce qu’est un tableau, nous pouvons examiner son utilisation dans Bash.
Déclarer un tableau
Un tableau est déclaré en mettant les valeurs entre parenthèses. Il n’y a que des espaces entre les valeurs, pas de caractères tels que des virgules. Un exemple de déclaration de tableau est ci-dessous.
arr=("black" "white" "red" "blue" "green")
Nous pouvons utiliser les méthodes suivantes pour déclarer un tableau de valeurs entières.
intArr=(1 2 3 4)
intArr=($(seq 1 4))
intArr=({1..4})
Ces exemples déclarent un tableau contenant les nombres 1 à 4
.
Accéder à une baie
Il existe de nombreuses façons d’accéder aux données d’un tableau. Par exemple, nous pouvons imprimer le tableau entier, accéder à un seul élément à l’aide de l’index ou accéder à chaque élément à tour de rôle avec une boucle. Expliquons chaque méthode une par une.
Accéder à l’ensemble de la baie
Nous pouvons utiliser les commandes [*]
ou [@]
pour accéder à toutes les valeurs contenues dans un tableau. Par exemple, utilisons ces commandes pour imprimer toutes les valeurs du tableau arr
que nous avons défini ci-dessus.
arr=("black" "white" "red" "blue" "green")
echo "With *: ${arr[*]}"
echo "With @: ${arr[@]}"
Accéder à un élément avec index
L’index du premier élément du tableau est 0
, et les index des éléments suivants augmentent séquentiellement. Nous pouvons accéder à l’élément par le numéro d’index de l’élément dans le tableau. Par exemple, nous utilisons le code Bash ci-dessous pour obtenir la valeur red
dans le tableau arr
.
arr=("black" "white" "red" "blue" "green")
echo "${arr[2]}"
Accéder aux éléments du tableau avec une boucle
On peut utiliser la boucle for
pour accéder un par un à tous les éléments d’un tableau. Ci-dessous se trouve le script Bash qui imprimera chaque couleur du tableau arr
à l’écran.
arr=("black" "white" "red" "blue" "green")
for color in ${arr[@]}; do
echo $color
done
Si nous voulons accéder à ces valeurs avec le numéro d’index, nous pouvons utiliser le code ci-dessous.
arr=("black" "white" "red" "blue" "green")
for i in ${!arr[@]}; do
echo "$i: ${arr[$i]}"
done
La commande ${!arr[@]}
renvoie les index de toutes les valeurs du tableau. Ensuite, l’élément est accessible à l’aide de ces index.
Ajouter un nouvel élément à un tableau
Pour ajouter un nouvel élément au tableau, nous pouvons attribuer un numéro d’index à la nouvelle valeur ou utiliser l’opérateur +=
.
arr=("black" "white" "red" "blue" "green")
echo "Before adding purple: ${arr[@]}"
arr[5]="purple" # or use arr+=("purple"), exactly same
echo "After adding purple: ${arr[@]}"
Supprimer un élément d’un tableau
Nous pouvons utiliser la commande unset
pour supprimer toutes les données du tableau ou même supprimer complètement le tableau lui-même.
arr=("black" "white" "red" "blue" "green")
echo "Before removing white: ${arr[@]}"
unset arr[1]
echo "After removing white: ${arr[@]}"
Yahya Irmak has experience in full stack technologies such as Java, Spring Boot, JavaScript, CSS, HTML.
LinkedIn