Tableaux (Arrays) en Shell

ShellShellBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire (lab), vous apprendrez à travailler avec les tableaux (arrays) en programmation shell. Les tableaux sont des structures de données qui vous permettent de stocker plusieurs valeurs sous un seul nom, facilitant ainsi l'organisation et la manipulation des données. Vous apprendrez à initialiser des tableaux, à y ajouter des éléments, à accéder aux éléments par leur indice et à déterminer le nombre d'éléments dans un tableau. Cette connaissance est fondamentale pour des tâches de script shell plus avancées et de manipulation de données.

Ceci est un Guided Lab, qui fournit des instructions étape par étape pour vous aider à apprendre et à pratiquer. Suivez attentivement les instructions pour compléter chaque étape et acquérir une expérience pratique. Les données historiques montrent que c'est un laboratoire de niveau débutant avec un taux de réussite de 97.11%. Il a reçu un taux d'avis positifs de 99.62% de la part des apprenants.

Créer un nouveau fichier de script shell

Commençons par créer un nouveau fichier de script shell dans lequel nous écrirons nos opérations sur les tableaux (arrays).

  1. Ouvrez votre terminal dans le WebIDE.

  2. Accédez au répertoire du projet :

    cd ~/project
  3. Créez un nouveau fichier nommé arrays.sh en utilisant la commande touch :

    touch arrays.sh
  4. Ouvrez le fichier arrays.sh dans le WebIDE.

Initialiser des tableaux vides

Maintenant que nous avons notre fichier de script, commençons par initialiser trois tableaux (arrays) vides.

Ajoutez le code suivant à votre fichier arrays.sh :

#!/bin/bash

## Initialize empty arrays
NUMBERS=()
STRINGS=()
NAMES=()

Analysons ce que fait ce code :

  • La première ligne #!/bin/bash est appelée un shebang. Elle indique au système que ce script doit être exécuté par le shell Bash.
  • Nous créons trois tableaux vides : NUMBERS, STRINGS et NAMES.
  • La syntaxe () initialise un tableau vide.

Ajouter des éléments aux tableaux

Maintenant que nous avons nos tableaux (arrays) vides, ajoutons-y quelques éléments.

Ajoutez le code suivant à votre fichier arrays.sh, en dessous des initialisations des tableaux :

## Add elements to NUMBERS array
NUMBERS+=(1)
NUMBERS+=(2)
NUMBERS+=(3)

## Add elements to STRINGS array
STRINGS+=("hello")
STRINGS+=("world")

## Add elements to NAMES array
NAMES+=("John")
NAMES+=("Eric")
NAMES+=("Jessica")

Voici ce que fait ce code :

  • Nous utilisons l'opérateur += pour ajouter des éléments à nos tableaux.
  • Pour NUMBERS, nous ajoutons les entiers 1, 2 et 3.
  • Pour STRINGS, nous ajoutons les mots "hello" et "world".
  • Pour NAMES, nous ajoutons trois noms : "John", "Eric" et "Jessica".
  • Notez que nous mettons les éléments de type chaîne de caractères entre guillemets, mais les nombres n'en ont pas besoin.

Déterminer le nombre d'éléments dans un tableau

Une opération courante avec les tableaux (arrays) consiste à savoir combien d'éléments ils contiennent. Faisons-le pour notre tableau NAMES.

Ajoutez le code suivant à votre fichier arrays.sh :

## Get the number of elements in the NAMES array
NumberOfNames=${#NAMES[@]}

Cette ligne fait ce qui suit :

  • ${#NAMES[@]} nous donne le nombre d'éléments dans le tableau NAMES.
  • Nous stockons cette valeur dans une variable appelée NumberOfNames.
  • Le symbole @ à l'intérieur des crochets fait référence à tous les éléments du tableau.
  • Le symbole # avant NAMES indique au shell de compter les éléments.

Accéder à un élément spécifique dans un tableau

Maintenant, accédons à un élément spécifique de notre tableau NAMES. Nous allons récupérer le deuxième nom.

Ajoutez ce code à votre fichier arrays.sh :

## Access the second name in the NAMES array
second_name=${NAMES[1]}

Voici ce que fait ce code :

  • Nous accédons au deuxième élément du tableau NAMES avec ${NAMES[1]}.
  • Rappelez-vous, les indices des tableaux en Bash commencent à 0, donc [1] nous donne le deuxième élément.
  • Nous stockons cette valeur dans une variable appelée second_name.

Afficher les tableaux et les variables

Enfin, ajoutons du code pour afficher nos tableaux (arrays) et variables afin de voir les résultats de nos opérations.

Ajoutez le code suivant à la fin de votre fichier arrays.sh :

## Print the arrays and variables
echo "NUMBERS array: ${NUMBERS[@]}"
echo "STRINGS array: ${STRINGS[@]}"
echo "The number of names listed in the NAMES array: $NumberOfNames"
echo "The second name on the NAMES list is: $second_name"

Ce code fait ce qui suit :

  • Nous utilisons echo pour afficher des chaînes de caractères dans la console.
  • ${NUMBERS[@]} et ${STRINGS[@]} affichent tous les éléments de ces tableaux.
  • Nous affichons les variables NumberOfNames et second_name que nous avons créées précédemment.

Exécuter le script

Maintenant que nous avons écrit notre script, il est temps de l'exécuter et de voir les résultats.

  1. Dans votre terminal, assurez-vous d'être dans le bon répertoire :

    cd ~/project
  2. Rendez le script exécutable :

    chmod +x arrays.sh
  3. Exécutez le script :

    ./arrays.sh

Vous devriez voir une sortie similaire à celle-ci :

NUMBERS array: 1 2 3
STRINGS array: hello world
The number of names listed in the NAMES array: 3
The second name on the NAMES list is: Eric

Cette sortie montre que nos opérations sur les tableaux (arrays) ont réussi :

  • Le tableau NUMBERS contient 1, 2 et 3.
  • Le tableau STRINGS contient "hello" et "world".
  • Nous avons correctement compté 3 noms dans le tableau NAMES.
  • Nous avons réussi à récupérer "Eric" comme deuxième nom.

Résumé

Dans ce laboratoire (lab), vous avez appris les bases de la manipulation des tableaux (arrays) en script shell. Vous avez pratiqué l'initialisation de tableaux, l'ajout d'éléments à ceux-ci, l'accès à des éléments spécifiques et la détermination du nombre d'éléments dans un tableau. Ces compétences sont essentielles pour des tâches de script shell plus avancées, en particulier lorsqu'il s'agit de traiter des listes de données ou lorsque vous devez effectuer des opérations sur plusieurs éléments. Les tableaux offrent un moyen puissant d'organiser et de manipuler des données dans vos scripts shell, rendant votre code plus efficace et plus facile à gérer.

OSZAR »