Tableau associatif à bash

Tableau associatif à bash

Une variable de tableau est utilisée pour stocker plusieurs données avec l'index et la valeur de chaque élément de tableau est accessible par la valeur d'index correspondante de cet élément. Le tableau qui peut stocker la valeur de la chaîne en tant qu'index ou clé est appelé tableau associatif. Un tableau associatif peut être déclaré et utilisé dans le script bash comme d'autres langages de programmation. Cette fonction est ajoutée dans Bash 4. Comment le tableau associatif peut être déclaré et accessible à Bash est expliqué dans ce tutoriel.

Vérifiez la version actuelle de Bash avant de démarrer la partie suivante de ce tutoriel. Exécutez la commande suivante à partir du terminal pour vérifier la version installée de Bash. Si la version bash installée de votre système d'exploitation est inférieure à 4, vous devez d'abord installer la version Bash pour continuer ce tutoriel.

$ bash --version

La sortie suivante montre que la version actuelle de Bash est 4.4.19.

Déclarer et initialiser le tableau associatif:

Un tableau associatif peut être déclaré en bash en utilisant le déclarer Le mot-clé et les éléments du tableau peuvent être initialisés au moment de la déclaration de tableau ou après avoir déclaré la variable du tableau. Le script suivant créera un tableau associatif nommé assarray1 et les quatre valeurs de tableau sont initialisées individuellement.

$ Declare -a AssArray1
$ assarray1 [fruit] = mangue
$ assarray1 [oiseau] = cachetail
$ assarray1 [fleur] = rose
$ assarray1 [animal] = tigre

Sortir

Le script suivant initialisera le tableau associatif, assarrat2 au moment de la déclaration de la table. Ici, trois valeurs de tableau avec des clés sont définies au moment de la déclaration de tableau.

$ Declare -a AssArray2 = ([HDD] = Samsung [Monitor] = Dell [clavier] = A4Tech)

Sortir:

Accéder au tableau associatif:

Les éléments du tableau d'un tableau associatif sont accessibles individuellement ou en utilisant une boucle. Ces deux façons sont montrées dans cette partie du tutoriel. Les clés et les valeurs du tableau peuvent être imprimées séparément et ensemble.

Les commandes suivantes impriment deux valeurs du tableau, assarray1 (déclaré plus tôt) en spécifiant la valeur clé.

$ echo $ assarray1 [oiseau]
$ echo $ assarray1 [fleur]

Sortir:

La sortie suivante apparaîtra après avoir exécuté les commandes ci-dessus.

Parfois, il est nécessaire d'imprimer toutes les clés ou toutes les valeurs du tableau. Toutes les clés d'un tableau peuvent être imprimées en utilisant une extension de boucle ou de bash. La première commande suivante imprimera toutes les touches du tableau dans chaque ligne en utilisant pour Loop et la deuxième commande imprimera toutes les touches de tableau en une seule ligne en utilisant l'extension des paramètres bash. Ici, '!'Le symbole est utilisé pour lire les clés du tableau associatif.

$ pour la clé dans "$ !AssArray1 [@] "; do echo $ key;
$ echo "$ !assarray1 [@] "

Sortir:

La sortie suivante apparaîtra après avoir exécuté les commandes ci-dessus.

Toutes les valeurs d'un tableau peuvent être imprimées en utilisant une extension de boucle ou de bash. La première commande suivante imprimera toutes les valeurs du tableau dans chaque ligne en utilisant pour Loop et la deuxième commande imprimera toutes les valeurs du tableau en une seule ligne en utilisant l'expansion du paramètre bash.

$ pour val dans "$ AssArray1 [@]"; faire écho $ val; fait
$ echo "$ assarray1 [@]"

Sortir:

La sortie suivante apparaîtra après avoir exécuté les commandes ci-dessus.

Les clés et les valeurs d'un tableau associatif peuvent être imprimées en utilisant pour Loop. Le script suivant imprimera toutes les valeurs avec des clés du tableau associatif nommé assarray1. Ici, chaque clé du tableau sera analysée à chaque étape de la boucle FOR et la clé est utilisée comme index du tableau pour lire la valeur de la clé correspondante.

$ pour la clé dans "$ !AssArray1 [@] "; do echo" $ key => $ AssArray1 [$ key] "; fait

Sortir:

La sortie suivante apparaîtra après l'exécution du script.

Ajout de nouvelles données dans un tableau associatif:

Un nouvel élément de tableau peut être ajouté facilement dans le tableau associatif après avoir déclaré et initialisé le tableau. Les commandes suivantes vérifieront les valeurs de tableau actuelles du tableau, assarray2, Ajoutez une nouvelle valeur, "Logitech"Avec la clé,"Souris»Et vérifiez à nouveau les éléments actuels du tableau.

$ echo "$ assarray2 [@]"
$ assarray2 + = ([souris] = logitech)
$ echo "$ assarray2 [@]"

Sortir:

La sortie suivante apparaîtra après l'exécution des commandes.

Suppression des données du tableau associatif:

Toute valeur d'élément du tableau associatif peut être supprimée en fonction de la valeur clé. La commande 'Unset' est utilisée pour supprimer la valeur particulière du tableau associatif. Les commandes suivantes sont utilisées, vérifiez la valeur actuelle du tableau avec la clé, «Moniteur», Supprimez la valeur à l'aide de la commande unset et exécutez à nouveau la commande 'echo' pour vérifier que la valeur est supprimée ou non. $ echo $ assarray2 [moniteur]

$ unset assarray2 [moniteur]
$ echo $ assarray2 [moniteur]

Sortir:

La sortie suivante apparaîtra après l'exécution des commandes.

Trouver l'indice manquant du tableau associatif:

L'indice ou la clé manquante d'un tableau peut être trouvé en utilisant une instruction conditionnelle. Le script suivant vérifiera la clé du tableau, "Moniteur" existe ou pas. La valeur de cette clé est supprimée dans l'exemple précédent. Ainsi, la condition «If» retournera fausse et «non trouvé» sera imprimé.

$ if [$ assArray2 [moniteur] + _]; puis écho "trouvé"; Sinon écho "non trouvé"; Fi

Sortir:

La sortie suivante apparaîtra après l'exécution du script.

Suppression du tableau associatif:

Tout tableau associatif peut être supprimé en utilisant la commande «unset». La première commande suivante imprimera toutes les valeurs du tableau nommé assarray1 en une seule ligne si le tableau existe. La deuxième commande supprimera le tableau. La troisième commande est utilisée pour vérifier le tableau existe ou supprimé. Si le tableau est supprimé, aucune sortie n'apparaîtra.

$ echo "$ assarray1 [@]"
$ unset assarray1
$ echo "$ assarray1 [@]"

Sortir:

La sortie suivante apparaîtra après l'exécution des commandes.

Conclusion

Lorsqu'il est nécessaire de stocker plusieurs données de paire de valeurs clés en bash, il est préférable d'utiliser le tableau associatif pour stocker les données. Comment le codeur peut déclarer et initialiser le tableau associatif, des clés ou des valeurs de tableau d'analyse ou les deux, ajouter et supprimer des éléments de tableau et supprimer le tableau sont affichés dans ce didacticiel en utilisant divers scripts. Hope, le lecteur sera capable d'utiliser correctement le tableau associatif après avoir lu ce tutoriel.