Bash Basics Series #5 : Utiliser des tableaux dans Bash


  • FrançaisFrançais


  • Dans la première partie de la série, vous avez appris les variables. Les variables peuvent contenir une seule valeur.

    Les tableaux peuvent contenir plusieurs valeurs. Cela facilite les choses lorsque vous devez gérer plusieurs variables à la fois. Vous n’avez pas besoin de stocker des valeurs individuelles dans une nouvelle variable.

    Ainsi, au lieu de déclarer cinq variables comme ceci :

    distro1=Ubuntu
    distro2=Fedora
    distro3=SUSE
    distro4=Arch Linux
    distro5=Nix

    Vous pouvez tous les initialiser dans un seul tableau :

    distros=(Ubuntu Fedora SUSE "Arch Linux" Nix)

    Contrairement à certains autres langages de programmation, vous n’utilisez pas de virgules comme séparateurs d’éléments de tableau.

    C’est bien. Voyons comment accéder aux éléments du tableau.

    Accéder aux éléments du tableau dans bash

    L’accès aux éléments du tableau se fait par l’index (position dans le tableau). Pour accéder à l’élément de tableau à l’index N, utilisez :

    ${array_name[N]}

    💡

    Comme la plupart des autres langages de programmation, le tableau commence à l’index 0 dans le shell Bash. Cela signifie que le premier élément a l’indice 0, le deuxième élément a l’indice 1 et le nth l’élément a un index n-1.

    Donc, si vous voulez imprimer le SUSE, vous utiliserez :

    echo ${distros[2]}
    Exemple d'accès aux éléments du tableau dans le shell bash

    🚧

    Il ne doit pas y avoir d’espace blanc après ${ ou avant }. Vous NE POUVEZ PAS l’utiliser comme un tableau ${[n] }.

    Accéder à tous les éléments du tableau à la fois

    Disons que vous voulez imprimer tous les éléments d’un tableau.

    Vous pouvez utiliser echo ${array[n]} un par un mais ce n’est vraiment pas nécessaire. Il existe un moyen meilleur et plus simple :

    ${array[*]}

    Cela vous donnera tous les éléments du tableau.

    Accéder à tous les éléments du tableau à la fois dans le shell bash

    Obtenir la longueur du tableau en bash

    Comment savoir combien d’éléments il y a dans un tableau ? Il existe un moyen dédié d’obtenir la longueur du tableau dans Bash :

    ${#array_name[@]}

    C’est si simple, non ?

    Obtenir la longueur du tableau en bash

    Ajouter des éléments de tableau dans bash

    Si vous devez ajouter des éléments supplémentaires à un tableau, utilisez la += opérateur pour ajouter un élément au tableau existant dans bash :

    array_name+=("new_value")

    Voici un exemple :

    Ajouter un nouvel élément au tableau

    🚧

    Il est important d’utiliser () lors de l’ajout d’un élément.

    Vous pouvez également utiliser l’index pour définir l’élément à n’importe quelle position.

    array_name[N]=new_value

    Mais n’oubliez pas d’utiliser le bon numéro d’index. Si vous l’utilisez sur un index existant, la nouvelle valeur remplacera l’élément.

    Si vous utilisez un index ‘hors limite’, il sera toujours ajouté après le dernier élément. Par exemple, si la longueur du tableau est de six et que vous essayez de définir une nouvelle valeur à l’index 9, il sera toujours ajouté en tant que dernier élément à la 7ème position (index 6).

    Supprimer un élément du tableau

    Vous pouvez utiliser unset shell intégré pour supprimer un élément de tableau en fournissant le numéro d’index :

    unset array_name[N]

    Voici un exemple, où je supprime le 4ème élément du tableau.

    Supprimer l'élément de tableau dans bash

    Vous pouvez également supprimer l’ensemble du tableau avec unset :

    unset array_name

    💡

    Il n’y a pas de règles strictes de type de données dans Bash. Vous pouvez créer un tableau contenant à la fois des entiers et des chaînes.

    🏋️ Temps d’exercice

    Mettons en pratique ce que vous avez appris sur les tableaux bash.

    Exercice 1: Créez un script bash contenant un tableau des cinq meilleures distributions Linux. Imprimez-les tous.

    Maintenant, remplacez le choix du milieu par Hannah Montanna Linux.

    Exercice 2: Créez un script bash qui accepte trois nombres de l’utilisateur, puis les imprime dans l’ordre inverse.

    Production attendue:

    Enter three numbers and press enter
    12 23 44
    Numbers in reverse order are: 44 23 12

    J’espère que vous aimez apprendre les scripts shell bash avec cette série. Dans le chapitre suivant, vous apprendrez à utiliser if-else. Restez à l’écoute.

    Source

    La Rédaction

    L'équipe rédactionnnelle du site

    Pour contacter personnellement le taulier :

    Laisser un commentaire

    Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    Copy code