Créer et exécuter votre premier script shell Bash

C’est le début d’une nouvelle série de tutoriels sur It’s FOSS. Dans celui-ci, vous vous familiariserez avec les scripts bash.
La série suppose que vous êtes quelque peu familier avec le terminal Linux. Vous n’avez pas besoin d’être un maître, mais connaître les bases serait bien. Je conseille de passer par Terminal Basics Series.
Tutoriels de commande Linux pour les débutants absolus
Vous n’avez jamais utilisé de commandes Linux auparavant ? Pas de soucis. Cette série de didacticiels est destinée aux débutants absolus du terminal Linux.

A qui s’adresse cette série ?
Toute personne souhaitant commencer à apprendre les scripts shell bash.
Si vous êtes un étudiant avec des scripts shell dans le cadre de votre programme de cours, cette série est pour vous.
Si vous êtes un utilisateur Linux de bureau régulier, cette série vous aidera à comprendre la plupart des scripts shell que vous rencontrez tout en explorant divers logiciels et correctifs. Vous pouvez également l’utiliser pour automatiser certaines tâches courantes et répétitives.
À la fin de cette série Bash Basics, vous devriez être capable d’écrire des scripts bash simples à modérés.
Tous les chapitres de la série contiennent des exemples d’exercices pour que vous puissiez l’apprendre en le faisant.
🚧
Vous apprendrez ici les scripts shell bash. Bien qu’il existe d’autres shells avec pour la plupart la même syntaxe, leur comportement diffère encore sur quelques points. Bash est le shell le plus courant et le plus universel et commencez donc à apprendre les scripts shell avec bash.
Contents
Votre premier script shell : Hello World !
Ouvrez un terminal. Créez maintenant un nouveau répertoire pour enregistrer tous les scripts que vous allez créer dans cette série :
mkdir bash_scripts
Basculez maintenant vers ce répertoire nouvellement créé :
cd bash_scripts
Créons un nouveau fichier ici :
touch hello_world.sh
Maintenant, éditez le fichier et ajoutez echo Hello World
ligne à elle. Vous pouvez le faire avec le mode d’ajout de la commande cat (en utilisant >) :
[email protected]:~/bash_scripts$ cat > hello_world.sh
echo Hello World
^C
Je préfère ajouter de nouvelles lignes tout en utilisant la commande cat pour ajouter du texte.
Appuyez sur les touches Ctrl+C ou Ctrl+D pour sortir du mode d’ajout de la commande cat. Maintenant, si vous vérifiez le contenu du script hellow_world.sh
vous ne devriez voir qu’une seule ligne.

Le moment de vérité est arrivé. Vous avez créé votre premier script shell. Il est temps d’exécuter le script shell.
Fait comme ça:
bash hello_world.sh
La commande echo affiche simplement ce qui lui a été fourni. Dans ce cas, le script shell doit afficher Hello World à l’écran.

Toutes nos félicitations! Vous venez d’exécuter avec succès votre premier script shell. À quel point cela est cool!
Voici une rediffusion de toutes les commandes ci-dessus pour votre référence.
Une autre façon d’exécuter vos scripts shell
La plupart du temps, vous exécuterez les scripts shell de cette manière :
./hello_world.sh
Ce qui entraînera une erreur car le fichier pour vous en tant que script n’a pas encore l’autorisation d’exécution.
bash: ./hello_world.sh: Permission denied
Ajoutez l’autorisation d’exécution pour vous-même au script :
chmod u+x hello-world.sh
Et maintenant, vous pouvez l’exécuter comme ceci :
./hello_world.sh

Ainsi, vous avez appris deux façons d’exécuter un script shell. Il est temps de se concentrer sur bash.
Transformez votre script shell en script bash
Confus? En fait, il existe plusieurs shells disponibles sous Linux. Bash, ksh, csh, zsh et bien d’autres. Parmi tous ceux-ci, bash est le plus populaire et presque toutes les distributions l’ont installé par défaut.
Le shell est un interprète. Il accepte et exécute les commandes Linux. Bien que la syntaxe de la plupart des shells reste la même, leur comportement peut différer sur certains points. Par exemple, la gestion des parenthèses dans la logique conditionnelle.
C’est pourquoi il est important d’indiquer au système quel shell utiliser pour interpréter le script.
Lorsque vous avez utilisé bash hello_world.sh
vous avez explicitement utilisé l’interpréteur bash.
Mais lorsque vous exécutez les scripts shell de cette manière :
./hello_world.sh
Le système utilisera le shell que vous utilisez actuellement pour exécuter le script.
Pour éviter les mauvaises surprises dues à une gestion différente de la syntaxe, vous devez indiquer explicitement au système de quel script shell il s’agit.
Comment faire ça? Utilisez le shebang (#!). Normalement, # est utilisé pour les commentaires dans les scripts shell. Toutefois, si #! est utilisé comme première ligne du programme, il a pour but particulier d’indiquer au système quel shell utiliser.
Modifiez donc le contenu de hello_world.sh pour qu’il ressemble à ceci :
#!/bin/bash
echo Hello World
Et maintenant, vous pouvez exécuter le script shell comme d’habitude en sachant que le système utilisera bash shell pour exécuter le script.

💡
Si vous ne vous sentez pas à l’aise pour éditer des fichiers de script dans le terminal, en tant qu’utilisateur de bureau Linux, vous pouvez utiliser Gedit ou d’autres éditeurs de texte GUI pour écrire des scripts et les exécuter dans le terminal.
🏋️ Temps d’exercice
Il est temps de mettre en pratique ce que vous avez appris. Voici quelques exercices pratiques de base pour ce niveau :
- Écrivez un script bash qui affiche “Bonjour tout le monde”
- Écrivez un script bash qui affiche votre répertoire de travail actuel (indice : utilisez la commande pwd)
- Écrivez un script shell qui imprime votre nom d’utilisateur de la manière suivante : Je m’appelle XYZ (indice : utilisez $USER)
Les réponses peuvent être discutées dans ce fil dédié du forum communautaire.
Exercice pratique dans la série Bash Basics #1 : Créer et exécuter votre premier script shell Bash
Si vous suivez la série Bash Basics sur It’s FOSS, vous pouvez soumettre et discuter des réponses à l’exercice à la fin du chapitre : Les membres expérimentés sont encouragés à faire part de leurs commentaires aux nouveaux membres. Notez qu’il peut y avoir plus d’une réponse à un problème donné.

Le dernier exercice pratique utilise $USER
. C’est une variable spéciale qui imprime le nom d’utilisateur.
Et cela m’amène au sujet du prochain chapitre de la série Bash Basics : Variables.
Restez à l’écoute pour cela la semaine prochaine.