Cet atelier vous accompagnera dans la création d'un script shell simple affichant le message classique "Hello, World!". Vous découvrirez les bases de la programmation shell en utilisant Bash, l'interpréteur de commandes le plus répandu sur les systèmes de type Unix comme Linux. Ce laboratoire est conçu pour les débutants : ne vous inquiétez pas si vous découvrez la programmation ou l'utilisation de la ligne de commande.
Si vous débutez sur Linux ou LabEx, il est recommandé de commencer par le cours Prise en main rapide de Linux ou Pratique des commandes Linux de base pour acquérir les bases de manière systématique. Une fois ces bases acquises, vous pourrez revenir ici pour mettre en pratique vos compétences.
Présentation du WebIDE (VS Code)
Pour ce cours de scripting Shell, nous utiliserons un WebIDE basé sur Visual Studio Code (VS Code). Cet environnement de développement intégré permet de modifier des scripts et d'accéder au terminal de manière centralisée.
Il est important de noter que, bien que le shell par défaut du WebIDE soit Zsh, nous allons écrire des scripts Bash dans cet atelier. Bash (Bourne Again SHell) est le shell le plus courant et le plus utilisé sur les systèmes Unix. Zsh (Z Shell) est une version étendue de Bash offrant quelques améliorations. Pour les besoins de cet atelier, ces différences n'auront aucun impact, car nos scripts utiliseront explicitement Bash grâce à la ligne shebang (#!/bin/bash).
Accéder au WebIDE
Lorsque vous lancez l'atelier, l'interface du WebIDE s'affiche dans votre navigateur. Elle se compose de plusieurs parties clés :
L'Explorateur de fichiers (barre latérale gauche) : affiche l'arborescence des répertoires et les fichiers.
L'Éditeur (zone principale) : l'endroit où vous rédigerez et modifierez vos scripts.
Le Terminal (panneau inférieur) : l'endroit où vous saisirez les commandes et exécuterez vos scripts.
Ouvrir le terminal
Pour ouvrir le terminal dans le WebIDE :
Cliquez sur "Terminal" dans le menu supérieur.
Sélectionnez "New Terminal" dans le menu déroulant.
Cela ouvrira un nouveau panneau de terminal en bas du WebIDE. Vous verrez une invite de commande ressemblant à ceci :
labex:project/ $
Cela indique que vous êtes connecté en tant qu'utilisateur labex et que votre répertoire actuel est ~/project (ce qui est un raccourci pour /home/labex/project).
Utiliser le terminal
Vous pouvez utiliser ce terminal exactement comme 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 listera tous les fichiers et dossiers présents à votre emplacement actuel.
Créer un fichier de script Shell
Créons maintenant un nouveau fichier pour notre script shell. Nous allons utiliser la commande touch dans le terminal. La commande touch sert à créer des fichiers vides ou à mettre à jour les dates d'accès et de modification de 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, bien qu'elle ne soit pas obligatoire.
Aucun message ne s'affichera après l'exécution de cette commande. Sur les systèmes de type Unix, l'absence de message signifie généralement que la commande a réussi.
Alternativement, vous pouvez créer le fichier via l'interface du WebIDE :
Dans l'Explorateur de fichiers, faites un clic droit dans le répertoire /home/labex/project.
Sélectionnez "New File" dans le menu contextuel.
Saisissez le nom de fichier hello.sh et appuyez sur Entrée.
Cela créera un nouveau fichier nommé hello.sh et l'ouvrira directement dans l'éditeur.
Modifier le script Shell
Maintenant que le fichier est créé, ajoutons-y du contenu. Nous allons utiliser l'éditeur intégré du WebIDE pour cette tâche.
Si le fichier n'est pas déjà ouvert dans l'éditeur :
Dans l'Explorateur de fichiers, double-cliquez sur hello.sh pour l'ouvrir.
Dans l'éditeur, saisissez exactement les deux lignes suivantes :
#!/bin/bash
echo 'Hello, World!'
Analysons la signification de ces lignes :
#!/bin/bash - C'est ce qu'on appelle une ligne "shebang". Elle indique au système quel interpréteur doit être utilisé pour exécuter ce script. Ici, nous spécifions le shell Bash.
echo 'Hello, World!' - Cette ligne utilise la commande echo pour afficher le texte "Hello, World!" à l'écran.
Après avoir saisi ces lignes, enregistrez le fichier en appuyant sur Ctrl + S ou en allant dans le menu Fichier > Enregistrer (File > Save).
Rendre le script exécutable
Avant de pouvoir lancer notre script, nous devons le rendre exécutable. Dans les systèmes de type Unix, les fichiers possèdent des permissions 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"). Tapez la commande suivante dans le terminal et appuyez sur Entrée :
chmod +x hello.sh
Voici le détail de cette commande :
chmod est la commande pour modifier les permissions de fichiers.
+x signifie "ajouter la permission d'exécution".
hello.sh est le nom de notre fichier.
Comme précédemment, aucun message ne s'affichera si la commande réussit.
Exécuter le script
Maintenant que notre script est exécutable, nous pouvons le lancer. Pour exécuter un script situé dans le répertoire actuel, on utilise le préfixe ./ devant le nom du script. Ce ./ indique au système de chercher le script dans le dossier courant.
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!
Félicitations ! Vous venez d'exécuter votre premier script shell.
Consulter le contenu du script
Pour finir, vérifions le contenu de notre fichier de script pour confirmer que tout est correct. Nous pouvons utiliser la commande cat, qui affiche le contenu d'un fichier directement dans le terminal.
Tapez la commande suivante dans le terminal et appuyez sur Entrée :
cat hello.sh
Le contenu de votre script s'affichera :
#!/bin/bash
echo 'Hello, World!'
C'est une excellente habitude à prendre lorsque vous travaillez avec des scripts : vérifiez toujours votre travail !
Résumé
Dans cet atelier, vous avez créé et exécuté avec succès un script shell Bash simple. Vous avez appris à :
Naviguer dans le WebIDE et utiliser son terminal intégré.
Créer un nouveau fichier de script via la commande touch ou l'interface graphique.
Modifier un fichier à l'aide de l'éditeur intégré.
Comprendre le rôle de la ligne shebang dans les scripts shell.
Utiliser la commande echo pour afficher du texte.
Rendre un script exécutable avec la commande chmod.
Lancer un script shell depuis la ligne de commande.
Visualiser le contenu d'un fichier avec la commande cat.
ces compétences fondamentales constituent la base du scripting shell plus avancé et des tâches d'automatisation dans les environnements Unix. Au fil de votre apprentissage, vous découvrirez à quel point le scripting shell peut être puissant et flexible pour gérer des systèmes et automatiser des processus.
N'oubliez pas que la pratique est la clé en programmation. Essayez de modifier le script pour afficher des messages différents ou créez de nouveaux scripts pour effectuer d'autres tâches simples. N'ayez pas peur d'expérimenter, c'est ainsi que l'on progresse !