07-22-2023, 05:13 AM 
		
	
	Qu'est-ce qu'un Tableau en Bash ?
Un tableau en bash est une structure de données conçue pour stocker des informations de manière indexée. En d'autres termes, un tableau en bash est un groupe important de variables. Contrairement aux tableaux typiques utilisés dans d'autres langages de programmation, les tableaux en bash peuvent stocker différents types d'éléments. Par exemple, vous pouvez utiliser un tableau en bash pour stocker à la fois des chaînes de caractères et des nombres.
Il existe deux types de tableaux en bash :
- Indexé - le tableau est référencé via des entiers ou des nombres.
 - Associatif - le tableau est référencé via des chaînes de caractères ou un ensemble de caractères et de mots.
 
Rappelez-vous que bash ne prend pas en charge les tableaux multidimensionnels, il n'est donc pas possible d'ajouter un tableau dans un tableau.
Comment Déclarer un Tableau en Bash
Il y a plusieurs façons de déclarer des tableaux indexés et associatifs en bash. Il est bon de noter que la taille du tableau bash n'a pas besoin d'être déclarée au préalable car les tableaux en bash n'ont pas de limite supérieure sur le nombre d'éléments qu'ils peuvent stocker.
Tableau Indexé
Nous commencerons par un simple tableau indexé en bash. Par exemple, nous l'utiliserons pour créer une liste de différents moyens de transport.
declare -a TableauIndexe
TableauIndexe[0]=voiture
TableauIndexe[1]=avion
TableauIndexe[2]=vélo
La même chose peut être réalisée sans le mot-clé
declare :
TableauIndexe[0]=voiture
TableauIndexe[1]=avion
TableauIndexe[2]=vélo
Ou, encore plus simple :
TableauIndexe=(voiture avion vélo)
Rappelez-vous que l'indexation commence à 0, donc l'exemple ci-dessus attribuera l'élément voiture du tableau à l'indice 0.
Cependant, il est possible de définir un tableau avec des indices :
TableauIndexe=([0]='voiture' [1]='avion' [2]='vélo')
Une caractéristique intéressante des tableaux en bash est que suivre les numéros d'index dans l'ordre n'est pas nécessaire. Par exemple, vous pouvez déclarer uniquement le premier et le troisième élément tout en laissant le deuxième élément d'un tableau vide :
TableauIndexe[0]=voiture
TableauIndexe[2]=vélo
Tableau Associatif
Alors que les tableaux indexés ne nécessitent pas le mot-clé
declare, il ne sera pas possible de créer un tableau associatif en bash sans le déclarer au préalable :
declare -A TableauAssociatif
Ensuite, ajoutez les valeurs. Gardez à l'esprit que la clé doit être une chaîne de caractères :
TableauAssociatif[couleur]=bleu
TableauAssociatif[type]=voiture
TableauAssociatif[vitesse_max]=200
Une autre façon serait :
declare -A TableauAssociatif=( [couleur]=bleu [type]=voiture [vitesse_max]=200 )
Comment Ajouter une Variable à un Tableau en Bash
Ajoutez facilement des variables en utilisant l'opérateur
+=. Par exemple, le processus pour un tableau indexé ressemblerait à ceci :
TableauIndexe=(voiture avion vélo)
TableauIndexe+=(moto)
Le tableau indexé a maintenant un nouvel élément. Rappelez-vous que cette méthode ajoute à la fin du tableau. Par conséquent, l'élément moto sera ajouté en tant que dernier élément.
Pour les tableaux associatifs, le processus est très similaire. Sauf que vous devez spécifier les clés avec tous les éléments :
declare -A TableauAssociatif
TableauAssociatif[couleur]=bleu
TableauAssociatif+=( [roues]=alliage [moteur]=essence )
Comment Référencer et Afficher un Élément du Tableau
Les utilisateurs peuvent référencer les valeurs du tableau bash en utilisant l'index de l'élément ou la clé. Pour cela, créez un tableau indexé :
TableauIndexe=(voiture avion vélo)
Pour référencer la première variable du tableau, utilisez la syntaxe suivante :
${TableauIndexe[0]}
Combinez-le avec
echo, et vous obtiendrez ceci :
echo ${TableauIndexe[0]}
La sortie vous montrera le premier élément. Dans ce cas, c'est voiture. La même logique s'applique lors de la référence et de l'affichage d'un tableau associatif :
declare -A TableauAssociatif=( [couleur]=bleu [type]=voiture [vitesse_max]=200 )
echo ${TableauAssociatif[type]}
La sortie sera également voiture.
Pour afficher tout le tableau, utilisez
@ comme index. Le script complet ressemble à ceci :
Vous pouvez également afficher les clés d'un tableau. Pour ce faire, ajoutez un point d'exclamation avant le nom du tableau :

Comment Supprimer des Éléments d'un Tableau en Bash
Supprimer des éléments de tableau est similaire à leur référencement. Utilisez un index ou une clé combiné avec la commande
unset pour supprimer un élément de tableau.Voici un exemple de suppression d'un seul élément d'un tableau indexé :

Une logique similaire s'applique aux tableaux associatifs :

Pour supprimer un tableau entier, spécifiez
unset avec le nom du tableau comme indiqué ici :
Rien n'est affiché après avoir essayé d'imprimer les éléments du tableau car la commande
unset les a supprimés.Comment Parcourir un Tableau en Boucle
La création de boucles en bash est un aspect fondamental de l'apprentissage des bases du scripting en bash. Vous pouvez également utiliser des boucles avec des tableaux. Par exemple, le cas d'utilisation le plus courant est d'itérer sur chaque élément du tableau :

Vous pouvez également combiner les clés avec les éléments du tableau et les afficher tous ensemble comme ceci :

Comment Passer un Tableau à une Fonction
Les fonctions vous font gagner beaucoup de temps lors du scripting. Au lieu d'écrire le même code à plusieurs reprises, vous pouvez appeler une fonction déjà écrite. Nous allons combiner la boucle d'itération précédemment mentionnée et en faire une fonction :
function Iteration
{
m=${#TableauIndexe[@]}
for (( i=0; i 
do
echo ${TableauIndexe[$i]}
done
}
TableauIndexe=(voiture vélo avion)
Iteration ${TableauIndexe[@]}
L'exécution de cette fonction dans la ligne de commande vous donnera le résultat suivant :


