- Définir un tableau par index
- Définir un tableau avec plusieurs valeurs
- Définir un tableau associatif
- Comptez les valeurs du tableau
- Lire les valeurs du tableau par boucle
- Lire les valeurs particulières du tableau
- Insérer les valeurs du tableau
- Lire le contenu d'un fichier dans le tableau
- Combinez les valeurs du tableau
- Modifier les valeurs du tableau
- Supprimer les valeurs du tableau
- Rechercher et remplacer les valeurs du tableau
- Utiliser un tableau comme argument de fonction
- Renvoie le tableau de la fonction
- Rendre le tableau vide
Définir un tableau par index
La méthode de déclaration d'un tableau en mentionnant les index numériques séquentiels ou non séquentiels est présentée dans le script suivant. Ce type de tableau est appelé tableau numérique. Ici, le tableau « $books » est créé en définissant trois index séquentiels et le tableau « $products » est créé en définissant quatre index non séquentiels. Toutes les valeurs des deux tableaux sont imprimées à l'aide de la fonction « printf ».
#!/bin/bash
#Définir l'index du tableau dans un ordre séquentiel
livres [ 0 ] = 'Apprendre le shell bash'
livres [ 1 ] = « Opérations de cybersécurité avec bash »
livres [ 2 ] = « Conseils professionnels de ligne de commande Bash »
écho 'Toutes les valeurs du premier tableau :'
imprimer '%s\n' ' ${livres[@]} '
#Définir l'index du tableau dans un ordre non séquentiel
des produits [ dix ] = 'Stylo'
des produits [ 5 ] = 'Crayon'
des produits [ 9 ] = 'Rulaire'
des produits [ 4 ] = 'Papier format A4'
écho
écho 'Toutes les valeurs du deuxième tableau :'
imprimer '%s\n' ' ${produits[@]} '
Sortir :
La sortie suivante apparaît après l'exécution du script. Les valeurs des deux tableaux sont imprimées dans la sortie. L'ordre des index est conservé au moment de l'impression pour le tableau d'index non séquentiels :
Définir un tableau avec plusieurs valeurs
Un tableau numérique avec plusieurs valeurs peut être déclaré à l'aide de la commande « declare » avec l'option -a ou sans utiliser la commande « declare ». Dans le script suivant, le premier tableau est déclaré à l'aide de la commande « declare » et le deuxième tableau est créé sans utiliser la commande « declare ».
#!/bin/bash
#Déclarez un tableau numérique avec le mot-clé 'declare'
déclarer -un des noms = ( 'Michael' 'David' 'Alexandre' 'Thomas' 'Robert' 'Richard' )
#Imprimer les valeurs du tableau
écho 'Toutes les valeurs du premier tableau :'
imprimer '%s\n' ' ${noms[@]} '
#Déclarez un tableau numérique sans le mot-clé 'declare'
livres = ( « Tutoriels de script Shell » «Bish Bash Bosh!» « Apprenez Bash rapidement » )
#Ajouter une nouvelle ligne
écho
#Imprimer les valeurs du tableau
écho 'Toutes les valeurs du deuxième tableau :'
imprimer '%s\n' ' ${livres[@]} '
Sortir :
La sortie suivante apparaît après l'exécution du script. Les valeurs des deux tableaux sont imprimées ici :
Définir un tableau associatif
Le tableau qui contient la valeur de chaîne comme index est appelé tableau associatif. L'option -A est utilisée avec la commande « declare » dans Bash pour créer un tableau Bash associatif. Dans le script suivant, le premier tableau associatif est déclaré en mentionnant les index séparément et le deuxième tableau est déclaré en mentionnant toutes les paires clé-valeur au moment de la déclaration du tableau.
#!/bin/bash#Déclarer une variable de tableau associatif sans valeur
déclarer -UN employé
#Attribuer une valeur séparément en définissant l'index
employé [ 'identifiant' ] = '78564'
employé [ 'nom' ] = 'Acteurs disponibles'
employé [ 'poste' ] = 'PDG'
employé [ 'salaire' ] = 300000
#Imprimer deux valeurs du tableau
écho 'Identifiant de l'employé : ${employé[id]} '
écho 'Nom de l'employé: ${employé[nom]} '
#Déclarer un tableau associatif avec des valeurs
déclarer -UN cours = ( [ code ] = 'CSE-206' [ nom ] = 'Programmation orientée objet' [ crédit_heure ] = 2.0 )
#Ajouter une nouvelle ligne
écho
#Imprimer deux valeurs de tableau du deuxième tableau
écho 'Nom du cours: ${cours[nom]} '
écho 'Heure de crédit : ${course[credit_hour]} '
Sortir :
La sortie suivante apparaît après l'exécution du script. Les valeurs particulières du tableau associatif sont imprimées ici en mentionnant la clé ou la valeur d'index :
Comptez les valeurs du tableau
La méthode de comptage du total des éléments du tableau numérique et du tableau associatif est présentée dans le script suivant :
#!/bin/bash#Déclarer un tableau numérique
déclarer -un des noms = ( 'Michael' 'David' 'Alexandre' 'Thomas' 'Robert' 'Richard' ) ;
écho 'La longueur du tableau numérique est ${#noms[@]} '
#Déclarer un tableau associatif
déclarer -UN cours = ( [ code ] = 'CSE-206' [ nom ] = 'Programmation orientée objet' [ crédit_heure ] = 2.0 )
écho 'La longueur du tableau associatif est ${#cours[@]} '
Sortir :
La sortie suivante apparaît après l'exécution du script. La longueur du tableau des tableaux numériques et associatifs est imprimée ici :
Lire les valeurs du tableau par boucle
La méthode de lecture de toutes les valeurs d'un tableau numérique et d'un tableau associatif à l'aide de la boucle « for » est illustrée dans le script suivant :
#!/bin/bash#Déclarer un tableau numérique
déclarer -un livres = ( 'Tutoriels de script Shell' 'Bish Bash Bosh!' 'Apprenez Bash rapidement' )
#Imprimer les valeurs du tableau numérique
écho 'Les valeurs du tableau numérique sont :'
pour dans dans ' ${livres[@]} '
faire
écho ' $ en '
fait
écho
#Déclarer un tableau associatif avec des valeurs
déclarer -UN clients = (
[ identifiant ] = 'H-5623'
[ nom ] = 'M. Ahnaf'
[ adresse ] = '6/A, Dhanmondi, Dacca.'
[ téléphone ] = '+8801975642312' )
#Imprimer les valeurs du tableau associatif
écho 'Les valeurs du tableau associatif sont :'
pour k dans ' ${!clients[@]} '
faire
écho ' k$ => ${clients[$k]} '
fait
Sortir :
La sortie suivante apparaît après l'exécution du script. Ici, les valeurs du tableau numérique et les paires clé-valeur du tableau associatif sont imprimées dans la sortie :
Lire la plage particulière de valeurs du tableau
Les valeurs du tableau de la plage particulière des index sont affichées dans le script suivant. Dans le script, un tableau numérique de quatre éléments est défini. Deux valeurs de tableau du deuxième index du tableau sont imprimées ultérieurement.
#!/bin/bash#Déclarer un tableau numérique
déclarer -un Gâteaux = ( 'Gateau au chocolat' 'Gâteau à la vanille' 'Gâteau de velours rouge' 'gâteau aux fraises' )
#Imprimer les valeurs particulières du tableau
écho 'Les 2ème et 3ème éléments des valeurs du tableau sont :'
imprimer '%s\n' ' ${gâteaux[@]:1:2} '
Sortir :
La sortie suivante apparaît après l'exécution du script. Les deuxième et troisième valeurs du tableau sont « Vanilla Cake » et « Red Velvet Cake » qui sont imprimées dans la sortie :
Insérer les valeurs du tableau
La méthode d'ajout de plusieurs valeurs à la fin du tableau est présentée dans le script suivant. Le tableau principal qui est « $books » contient trois éléments et deux éléments sont ajoutés à la fin du tableau « $books ».
#!/bin/bash#Déclarer un tableau numérique
déclarer -un livres = ( 'Tutoriels de script Shell' 'Bish Bash Bosh!' 'Apprenez Bash rapidement' )
#Imprimer les valeurs du tableau avant de les insérer
écho 'Valeurs du tableau :'
imprimer '%s\n' ' ${livres[@]} '
écho
livres = ( ' ${livres[@]} ' 'Ligne de commande Linux et Bible des scripts Shell' 'Guide de script Bash avancé par Mendel Cooper' )
#Imprimer les valeurs du tableau après l'insertion
écho « Valeurs du tableau après avoir inséré deux valeurs : »
imprimer '%s\n' ' ${livres[@]} '
Sortir :
La sortie suivante apparaît après l'exécution du script. Les valeurs du tableau avant et après l'insertion de nouvelles valeurs sont imprimées dans la sortie :
Lire le contenu du fichier dans le tableau
Créez un fichier texte nommé « fruits.txt » avec le contenu suivant pour tester le script de cet exemple :
fruits.txt
mangueJacquier
Ananas
Orange
Banane
Dans le script suivant, le contenu d'un fichier est stocké dans un tableau nommé « $data ». Ici, chaque ligne du fichier est stockée comme chaque élément du tableau. Ensuite, les valeurs du tableau sont imprimées.
#!/bin/bash#Lire le nom du fichier auprès de l'utilisateur
lire -p 'Entrez le nom du fichier :' nom de fichier
si [ -F $nom de fichier ]
alors
#Lire le contenu du fichier dans un tableau'
données = ( ` chat ' $nom de fichier ' ` )
écho 'Le contenu du fichier est donné ci-dessous :'
#Lire le fichier ligne par ligne
pour doubler dans ' ${données[@]} '
faire
écho $ligne
fait
être
Sortir :
La sortie suivante apparaît après l'exécution du script. La sortie affichée par la commande « cat » et la sortie du script sont similaires car la commande « cat » et le script accèdent au même fichier :
Combinez les valeurs du tableau
Un nouveau tableau est créé en combinant les valeurs de plusieurs tableaux. Dans le script suivant, deux tableaux numériques de chaînes sont définis. Ensuite, un nouveau tableau est créé en combinant les valeurs de ces tableaux.
#!/bin/bash#Déclarez le premier tableau
déclarer -un nomListe1 = ( 'Michael' 'David' 'Alexandre' 'Thomas' )
écho 'Les premières valeurs du tableau sont :'
imprimer '%s,' ${nameList1[@]}
écho
#Déclarez le deuxième tableau
déclarer -un listenom2 = ( 'Robert' 'Richard' )
écho 'Les valeurs du deuxième tableau sont :'
imprimer '%s,' ${nameList2[@]}
écho
#Créez un nouveau tableau en combinant deux tableaux
tableau_combiné = ( ' ${nameList1[@]} ' ' ${nameList2[@]} ' )
écho 'Les valeurs du tableau combinées sont :'
imprimer '%s,' ${combined_array[@]}
écho
Sortir :
La sortie suivante apparaît après l'exécution du script. Ici, les valeurs de trois tableaux sont imprimées dans la sortie. Le troisième tableau contient toutes les valeurs du premier et du deuxième tableau :
Modifier les valeurs du tableau
La méthode de mise à jour d'une ou plusieurs valeurs de tableau en mentionnant l'index est présentée dans le script suivant :
#!/bin/bash#Déclarez le premier tableau
déclarer -un liste de nom = ( 'Michael' 'David' 'Alexandre' 'Thomas' )
écho 'Valeurs du tableau :'
imprimer '%s,' ${nameList[@]}
écho
#Mettre à jour la 2ème valeur du tableau
liste de nom [ 1 ] = 'Robert'
écho « Valeurs du tableau après la mise à jour : »
imprimer '%s,' ${nameList[@]}
écho
Sortir :
La sortie suivante apparaît après l'exécution du script. Les valeurs du tableau principal et des tableaux mis à jour sont imprimées dans la sortie :
Supprimer les valeurs du tableau
La commande « unset » est utilisée pour supprimer l'élément particulier ou tous les éléments du tableau. Dans le script suivant, le deuxième élément du tableau est supprimé.
#!/bin/bash#Déclarer un tableau numérique
déclarer -un livres = ( 'Tutoriels de script Shell' 'Bish Bash Bosh!' 'Apprenez Bash rapidement' )
#Imprimer les valeurs du tableau avant de les supprimer
écho 'Valeurs du tableau :'
imprimer '%s\n' ' ${livres[@]} '
écho
#Supprimer le 2ème élément
désarmé livres [ 1 ]
#Imprimer les valeurs du tableau après la suppression
écho « Valeurs du tableau après avoir supprimé la 2ème valeur : »
imprimer '%s\n' ' ${livres[@]} '
Sortir :
La sortie suivante apparaît après l'exécution du script. Les valeurs du tableau principal et les valeurs du tableau après suppression d'une valeur sont imprimées dans la sortie :
Rechercher et remplacer les valeurs du tableau
Dans le script suivant, la valeur particulière du tableau est remplacée par une autre valeur si la valeur de recherche définie dans le modèle correspond à une valeur du tableau « $names ».
#!/bin/bash#Déclarez le premier tableau
déclarer -un des noms = ( 'Michael' 'David' 'Alexandre' 'Thomas' )
#Imprimer les valeurs du tableau d'origine
écho « Valeurs originales du tableau : »
imprimer '%s\n' ' ${noms[@]} '
#Générer une chaîne après avoir remplacé les valeurs du tableau
tableau_mis à jour = ${names[@]/Alexandre/Richard}
#Imprimer les valeurs du tableau après le remplacement
écho 'Valeurs du tableau après remplacement :'
imprimer '%s\n' ' ${updated_array[@]} '
Sortir :
La sortie suivante apparaît après l'exécution du script. Les valeurs du tableau principal et les valeurs du tableau après remplacement d'une valeur sont imprimées dans la sortie :
Utiliser un tableau comme argument de fonction
Dans le script suivant, une variable tableau est passée comme argument de fonction et les valeurs de ce tableau sont imprimées ultérieurement.
#!/bin/bash#Déclarer un tableau de nombres
déclarer -un Nombres = ( dix 6 Quatre cinq 13 8 )
#Définir une fonction qui prendra une valeur d'argument
fonction ( )
{
#Lisez le premier argument
Nombres = 1 $
#Imprimer les valeurs du tableau
écho 'Valeurs du tableau :'
imprimer '%d\n' ' ${numéros[@]} '
}
#Appelle la fonction avec le tableau comme argument
fonction ' ${numéros[@]} '
Sortir :
La sortie suivante apparaît après l'exécution du script :
Renvoie un tableau à partir de la fonction
Dans le script suivant, la fonction est appelée avec quatre arguments numériques. Un tableau est créé avec les valeurs des arguments et ce tableau est renvoyé par la fonction à l'appelant.
#!/bin/bash#Définir une fonction qui lit quatre valeurs d'argument
fonction ( )
{
#Lire les valeurs des arguments
Nombres = ( 1 $ 2 $ 3 $ 4 $ )
#Renvoyer le tableau
écho ' ${numéros[@]} '
}
#Appelle la fonction avec trois arguments
return_val =$ ( fonction 78 Quatre cinq 90 23 )
#Stocker la valeur de retour dans un tableau
lire -un sur une <<< $return_val
#Imprimer les valeurs du tableau renvoyé
écho 'Les valeurs du tableau sont :'
pour dans dans ' ${num[@]} '
faire
écho ' $ en '
fait
Sortir :
La sortie suivante apparaît après l'exécution du script :
Rendre le tableau vide
Le script suivant montre la méthode pour rendre un tableau vide à l'aide de la commande « unset ». Le nombre total de valeurs du tableau est imprimé avant et après avoir vidé le tableau.
#!/bin/bash#Déclarer un tableau de nombres
déclarer -un Nombres = ( dix 6 Quatre cinq 13 80 )
écho 'Nombres de valeurs du tableau : ${#numéros[@]} '
#Rendre le tableau vide
désarmé Nombres
écho 'Nombre de valeurs du tableau après avoir rendu le tableau vide : ${#numéros[@]} '
Sortir :
La sortie suivante apparaît après l'exécution du script. Le nombre d'éléments du tableau est devenu 0 après avoir rendu le tableau vide :
Conclusion
Différentes méthodes de déclaration, d'accès, de modification et de suppression des variables de tableau dans le script Bash sont présentées dans ce didacticiel à l'aide de 15 exemples simples. Nous espérons que ce tutoriel aidera les utilisateurs de Bash à connaître en détail les utilisations du tableau Bash.