Familiarisez-vous avec les tableaux Bash: comment les déclarer, les manipuler et les supprimer.

Les tableaux sont des magasins de données utilisés pour contenir des valeurs ayant des relations les unes avec les autres. Contrairement à la plupart des langages de programmation, les tableaux Bash peuvent stocker des valeurs de différents types de données dans le même tableau.

Bash propose deux types de tableaux: les tableaux indexés et les tableaux associatifs. Pour les tableaux indexés, les index commencent de 0 à (n-1), comme cela est courant dans la plupart des langages. Cependant, les tableaux dans Bash sont rares. Cela signifie que vous pouvez attribuer le (n-1)ème élément du tableau sans avoir attribué le (n-2)ème élément.

Dans ce didacticiel, vous apprendrez à utiliser des tableaux dans Bash. Commençons.

Définir des tableaux

Il existe trois façons de définir des tableaux dans Bash. Semblables aux variables Bash, les tableaux doivent être initialisés lors de la création. La seule exception à cette règle est si vous utilisez le

instagram viewer
déclarer mot-clé. Vous devez également vous assurer qu'il ne reste aucun espace de part et d'autre de l'opérateur d'affectation lors de l'initialisation du tableau.

La première méthode consiste à attribuer des valeurs composées au nom du tableau. Il y a deux façons de faire ça:

arr1 = (3 5 6 7)
# or this
arr2 = ([3]=5 [1]=8 [0]=7)

Dans la première affectation composée, les valeurs entre parenthèses sont attribuées séquentiellement à partir de l'index [0] à [3].

Cependant, dans le second cas, les valeurs sont affectées à un index dans l'ordre indiqué par le programmeur.

En rapport: Que sont les variables d’environnement sous Linux? Tout ce que tu as besoin de savoir

Si vous avez prêté une attention particulière à arr2, vous remarquerez cet index [2] a été laissé de côté. Le tableau sera toujours créé sans aucune erreur. Cette mission est en fait une démonstration du stockage clairsemé dans les tableaux Bash, comme nous l'avons évoqué plus tôt.

Notez qu'il n'y a pas de virgules séparant les valeurs du tableau. Les valeurs sont simplement séparées par des espaces.

La deuxième méthode déclare indirectement le tableau. Vous pouvez simplement commencer à attribuer des valeurs aux éléments nuls du tableau :

arr3[0]=Toyota
arr3[1]=Honda
arr3[2]=Mercedes

La troisième façon consiste à déclarer explicitement le tableau avec le mot-clé déclarer:

declare -a arrayName

Opérations sur les tableaux

Pour accéder aux éléments du tableau, utilisez cette syntaxe: ${tableau[index]}

fruits=(mango banana apples)
echo${fruits[1]}# output is banana

Si vous devez plutôt imprimer l’intégralité du tableau, utilisez le @ symbole comme le

indice de ${tableau[index]}:

echo${fruits[@]}

Pour connaître le nombre d'éléments du tableau, utilisez la commande # symbole comme indiqué ci-dessous :

echo ${#fruits[1]}

Vous devrez peut-être également modifier les éléments du tableau (voir l'exemple ci-dessous pour savoir comment procéder). C'est similaire à la façon dont vous ajoutez un nouvel élément. La seule différence est que vous remplacez une valeur par un index qui a déjà une valeur.

fruits[1]=pears

Tableaux associatifs

Un tableau qui a des valeurs arbitraires comme clés est appelé un tableau associatif. Ces tableaux sont utilisés pour stocker les paires clé-valeur associées.

En rapport: Comment transformer des scripts Bash en applications cliquables à l'aide d'AppleScript

Pour définir un tableau associatif, vous devez le faire explicitement à l'aide du mot-clé déclarer.

# associative array called animal
declare -A animal
animal[giraffe]=tall
animal[lion]=brave
animal[cheetah]=fast

Vous pouvez accéder à un élément membre de la même manière que pour les tableaux indexés :

echo${animal[lion]}

Si vous souhaitez imprimer toutes les valeurs, vous pouvez utiliser le @ symbole comme indiqué ci-dessous :

echo${animal[@]}

Si vous souhaitez imprimer toutes les clés du tableau, vous pouvez utiliser le @ et ! symboles comme démontré ci-dessous :

echo${!animal[@]}

Pour connaître le nombre d'éléments du tableau associatif, utilisez la même syntaxe que celle que vous utiliseriez avec les tableaux indexés (démontré dans la dernière section).

Si vous souhaitez supprimer un élément du tableau ou l'intégralité du tableau, utilisez la syntaxe ci-dessous :

unset arrayName[Key] # delete array item
unset arrayName # delete entire array

Utilisation de la commande printf

Vous avez peut-être remarqué que tout cet article utilise le écho commande pour afficher les données vers le shell. Le écho La commande fonctionne pour ce didacticiel mais présente peu de fonctionnalités et de flexibilité en matière de formatage de chaîne.

Cependant, le imprimer La commande offre des options de formatage plus spécifiques qui facilitent les scripts Bash. Apprendre le imprimer La fonction améliorera sûrement votre expérience et votre efficacité en matière de formatage de chaînes dans Bash.