Bonjour, Bash!

LinuxLinuxIntermediate
Pratiquer maintenant

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

Introduction

Ce laboratoire vous guidera dans la création d'un simple script shell qui affiche le message classique "Hello, World!". Vous apprendrez les bases de la programmation shell en utilisant le shell Bash, qui est largement utilisé dans les systèmes d'exploitation de type Unix tels que Linux. Ce laboratoire est conçu pour les débutants, donc n'ayez pas peur si vous êtes nouveau en programmation ou en utilisation de la ligne de commande.

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 intermédiaire avec un taux de réussite de 77%. Il a reçu un taux d'avis positifs de 100% de la part des apprenants.

Introduction au WebIDE (VS Code)

Pour ce cours de script Shell, nous utiliserons un WebIDE basé sur Visual Studio Code (VS Code). Cet environnement de développement intégré offre un moyen pratique d'éditer des scripts et d'accéder au terminal, tout en un seul endroit.

Il est important de noter que bien que le shell par défaut dans le WebIDE soit Zsh, nous écrirons des scripts Bash dans ce laboratoire. Bash (Bourne Again SHell) est le shell le plus courant et le plus largement utilisé dans les systèmes de type Unix. Zsh (Z Shell) est une version étendue de Bash avec quelques améliorations et fonctionnalités. Pour les besoins de ce laboratoire, les différences n'auront pas d'impact sur notre travail, car nos scripts utiliseront explicitement Bash via la ligne shebang (#!/bin/bash).

Accéder au WebIDE

Lorsque vous démarrez le laboratoire, vous verrez l'interface du WebIDE dans votre navigateur. Elle se compose de plusieurs parties clés :

  1. Explorateur de fichiers (barre latérale gauche) : Affiche la structure des répertoires et les fichiers.
  2. Éditeur (zone principale) : C'est là que vous écrirez et éditerez vos scripts.
  3. Terminal (panneau inférieur) : C'est là que vous exécuterez des commandes et des scripts.

Ouvrir le terminal

Pour ouvrir le terminal dans le WebIDE :

  1. Cliquez sur "Terminal" dans le menu supérieur.
  2. Sélectionnez "New Terminal" dans la liste déroulante.

Cela ouvrira un nouveau panneau de terminal en bas du WebIDE. Vous verrez une invite de commande qui ressemble à ceci :

labex:project/ $

Cela indique que vous êtes connecté en tant qu'utilisateur labex et que votre répertoire actuel est ~/project (qui est un raccourci pour /home/labex/project).

Utiliser le terminal

Exemple d'interface de terminal WebIDE

Vous pouvez utiliser ce terminal de la même manière que vous utiliseriez un terminal classique sur un système Linux. Par exemple, pour voir le contenu de votre répertoire actuel, vous pouvez taper :

ls

Puis appuyez sur Entrée. Cela affichera tous les fichiers et répertoires de votre emplacement actuel.

Créer un fichier de script Shell

Maintenant, créons un nouveau fichier pour notre script shell. Nous utiliserons la commande touch dans le terminal pour cela. La commande touch est utilisée pour créer des fichiers vides ou pour mettre à jour les horodatages d'accès et de modification des fichiers existants.

Tapez la commande suivante dans le terminal et appuyez sur Entrée :

touch hello.sh

Cette commande crée un fichier vide nommé hello.sh dans votre répertoire actuel. L'extension .sh est couramment utilisée pour les scripts shell, mais elle n'est pas obligatoire.

Exemple de commande touch dans le terminal

Vous ne verrez aucun résultat après avoir exécuté cette commande. Dans les systèmes de type Unix, l'absence de résultat signifie généralement que la commande s'est exécutée avec succès.

Alternativement, vous pouvez créer le fichier en utilisant l'interface du WebIDE :

  1. Dans l'Explorateur de fichiers, cliquez avec le bouton droit dans le répertoire /home/labex/project.
  2. Sélectionnez "New File" dans le menu contextuel.
  3. Tapez le nom de fichier hello.sh et appuyez sur Entrée.

Cela créera un nouveau fichier nommé hello.sh et l'ouvrira dans l'éditeur.

Éditer le script Shell

Maintenant que nous avons créé le fichier, ajoutons-y du contenu. Nous utiliserons l'éditeur intégré du WebIDE pour cette tâche.

Si le fichier n'est pas déjà ouvert dans l'éditeur :

  1. Dans l'Explorateur de fichiers, double-cliquez sur hello.sh pour l'ouvrir.

Dans l'éditeur, tapez exactement les deux lignes suivantes :

#!/bin/bash
echo 'Hello, World!'

Analysons ce que signifient ces lignes :

  1. #!/bin/bash - Cette ligne est appelée une ligne "shebang". Elle indique au système quel interpréteur doit être utilisé pour exécuter ce script. Dans ce cas, nous spécifions le shell Bash.
  2. echo 'Hello, World!' - Cette ligne utilise la commande echo pour afficher le texte "Hello, World!" à l'écran.

Après avoir tapé ces lignes, enregistrez le fichier en appuyant sur Ctrl + S ou en allant dans Fichier > Enregistrer dans le menu supérieur.

Rendre le script exécutable

Avant de pouvoir exécuter notre script, nous devons le rendre exécutable. Dans les systèmes de type Unix, les fichiers ont des autorisations qui contrôlent qui peut les lire, les modifier ou les exécuter. Par défaut, les nouveaux fichiers ne sont pas exécutables.

Pour rendre notre script exécutable, nous utilisons la commande chmod (qui signifie "change mode" - changer le mode). Tapez la commande suivante dans le terminal et appuyez sur Entrée :

chmod +x hello.sh

Voici ce que fait cette commande :

  • chmod est la commande pour changer les autorisations des fichiers
  • +x signifie "ajouter l'autorisation d'exécution"
  • hello.sh est le nom de notre fichier

Vous ne verrez aucun résultat de cette commande si elle s'est exécutée avec succès.

Exécuter le script

Maintenant que notre script est exécutable, nous pouvons le lancer. Pour exécuter un script dans le répertoire actuel, nous utilisons ./ avant le nom du script. Ce ./ indique au système de chercher le script dans le répertoire actuel.

Tapez la commande suivante dans le terminal et appuyez sur Entrée :

./hello.sh

Si tout a été fait correctement, vous devriez voir le résultat suivant :

Hello, World!
Sortie de l'exécution du script dans le terminal

Félicitations! Vous venez d'exécuter votre premier script shell.

Afficher le contenu du script

En tant que dernière étape, affichons le contenu de notre fichier de script pour confirmer que tout est correct. Nous pouvons le faire en utilisant la commande cat, qui affiche le contenu d'un fichier dans le terminal.

Tapez la commande suivante dans le terminal et appuyez sur Entrée :

cat hello.sh

Vous devriez voir le contenu de votre script affiché :

#!/bin/bash
echo 'Hello, World!'

C'est une bonne habitude à prendre lorsque vous travaillez avec des scripts – vérifiez toujours votre travail!

Résumé

Dans ce laboratoire, vous avez créé et exécuté avec succès un simple script shell Bash. Vous avez appris à :

  1. Naviguer dans le WebIDE et utiliser son terminal intégré
  2. Créer un nouveau fichier de script en utilisant soit la commande touch, soit l'interface du WebIDE
  3. Éditer un fichier en utilisant l'éditeur intégré du WebIDE
  4. Comprendre le but de la ligne shebang dans les scripts shell
  5. Utiliser la commande echo pour afficher du texte
  6. Rendre un script exécutable en utilisant la commande chmod
  7. Exécuter un script shell depuis la ligne de commande
  8. Afficher le contenu d'un fichier en utilisant la commande cat

Ces compétences fondamentales constituent la base pour des tâches de script shell et d'automatisation plus avancées dans les environnements de type Unix. Au fur et à mesure de votre apprentissage, vous découvrirez à quel point le script shell peut être puissant et flexible pour gérer des systèmes et automatiser des tâches.

N'oubliez pas que la pratique est essentielle en programmation. Essayez de modifier le script pour afficher différents messages ou créez de nouveaux scripts pour effectuer d'autres tâches simples. N'ayez pas peur d'expérimenter – c'est ainsi que vous apprenez!