Comment créer et exécuter votre premier script shell Bash

Vous vous retrouverez souvent à répéter une seule tâche sous Linux encore et encore. Il peut s’agir d’une simple sauvegarde d’un répertoire, du nettoyage de fichiers temporaires ou même du clonage d’une base de données.

L’automatisation d’une tâche est l’un des nombreux scénarios utiles où vous pouvez tirer parti de la puissance des scripts bash.

Laissez-moi vous montrer comment créer un script shell bash simple, comment exécuter un script bash et quelles sont les choses que vous devez savoir sur les scripts shell.

Créez et exécutez votre premier script shell

Commençons par créer un nouveau répertoire nommé scripts qui hébergera tous nos scripts bash.

mkdir scripts
cd scripts

Maintenant dans ce ‘répertoire des scripts’, créez un nouveau fichier nommé hello.sh en utilisant la commande cat :

cat > hello.sh

Insérez-y la ligne suivante en la tapant dans le terminal :

echo 'Hello, World!'

Appuyez sur Ctrl+D pour enregistrer le texte dans le fichier et sortir de la commande cat.

Vous pouvez également utiliser un éditeur de texte basé sur un terminal comme Vim, Emacs ou Nano. Si vous utilisez un ordinateur de bureau Linux, vous pouvez également utiliser un éditeur de texte graphique comme Gedit pour ajouter le texte à ce fichier.

Donc, en gros, vous utilisez la commande echo pour imprimer “Hello World”. Vous pouvez utiliser cette commande directement dans le terminal, mais dans ce test, vous exécuterez cette commande via un script shell.

Rendez maintenant le fichier hello.sh exécutable en utilisant la commande chmod comme suit :

chmod u+x hello.sh

Et enfin, exécutez votre premier script shell en faisant précéder le hello.sh avec votre “bash” shell souhaité :

bash hello.sh

Vous verrez Hello, World!imprimé sur l’écran. C’était probablement le programme Hello World le plus simple que vous ayez jamais écrit, n’est-ce pas ?

READ  Comment vérifier l'espace disque libre sur Linux 2022 [Méthodes Terminal et GUI]

Voici une capture d’écran de toutes les étapes que vous avez vues ci-dessus :

Convertissez votre script shell en script bash

Confus? Ne soyez pas confus pour l’instant. Je vais t’expliquer les choses.

Bash , qui est l’abréviation de “Bourne-Again shell”, n’est qu’un type parmi de nombreux shells disponibles sous Linux.

Un shell est un interpréteur de ligne de commande qui accepte et exécute des commandes. Si vous avez déjà exécuté une commande Linux auparavant, vous avez utilisé le shell. Lorsque vous ouvrez un terminal sous Linux, vous exécutez déjà le shell par défaut de votre système.

Bash est souvent le shell par défaut dans la plupart des distributions Linux. C’est pourquoi bash est souvent synonyme de shell.

Les scripts shell ont souvent presque les mêmes syntaxes, mais ils diffèrent aussi parfois. Par exemple, l’index du tableau commence à 1 dans Zsh au lieu de 0 dans bash. Un script écrit pour le shell Zsh ne fonctionnera pas de la même manière dans bash s’il contient des tableaux.

Pour éviter les mauvaises surprises, vous devez indiquer à l’interpréteur que votre script shell est écrit pour le shell bash. Comment tu fais ça? Vous utilisez le shebang !

La ligne SheBang au début du script shell

La ligne “#!/bin/bash” est appelée la ligne shebang et dans certains documents, elle est appelée la ligne hashbang et c’est parce qu’elle commence par les deux caractères hash ‘#’ et bang ‘!’.

#! /bin/bash

echo 'Hello, World!'

Lorsque vous incluez la ligne “#!/bin/bash” tout en haut de votre script, le système sait que vous souhaitez utiliser bash comme interprète pour votre script. Ainsi, vous pouvez exécuter directement le script hello.sh sans le faire précéder de bash.

Ajouter votre script shell au PATH (afin qu’il puisse être exécuté à partir de n’importe quel répertoire)

Vous avez peut-être remarqué que j’ai utilisé ./hello.sh pour exécuter le script ; vous obtiendrez une erreur si vous omettez le premier ./

[email protected]:~/scripts$ hello.sh
hello.sh: command not found

Bash pensait que vous essayiez d’exécuter une commande nommée hello.sh. Lorsque vous exécutez une commande sur votre terminal ; le shell recherche cette commande dans un ensemble de répertoires stockés dans la variable PATH.

READ  Comment installer et supprimer des logiciels dans Ubuntu 22.04 [Guide complet]

Vous pouvez utiliser echo pour afficher le contenu de cette variable PATH :

echo $PATH
/home/user/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Le caractère deux-points (:) sépare le chemin de chacun des répertoires que votre shell analyse chaque fois que vous exécutez une commande.

Les commandes Linux telles que echo, cat, etc. peuvent être exécutées de n’importe où car leurs fichiers exécutables sont stockés dans les répertoires bin. Les répertoires bin sont inclus dans le PATH. Lorsque vous exécutez une commande, votre système vérifie le PATH pour tous les emplacements possibles qu’il doit rechercher pour trouver l’exécutable de cette commande.

Si vous souhaitez exécuter votre script bash depuis n’importe où, comme s’il s’agissait d’une commande Linux normale, ajoutez l’emplacement de votre script shell à la variable PATH.

Tout d’abord, obtenez l’emplacement du répertoire de votre script (en supposant que vous êtes dans le même répertoire), utilisez la commande PWD :

pwd

Utilisez la commande export pour ajouter votre répertoire de scripts à la variable PATH.

export PATH=$PATH:/home/user/scripts

Notez que j’ai ajouté le ‘répertoire des scripts’ à la toute fin de notre variable PATH. Pour que le chemin personnalisé soit recherché après les répertoires standard.

Le moment de vérité est arrivé; exécutez hello.sh :

[email protected]:~/scripts$ hello.sh
Hello, World!

Ça marche! Cela nous amène à la fin de ce tutoriel. J’espère que vous avez maintenant une idée de base sur les scripts shell. Vous pouvez télécharger le PDF ci-dessous et mettre en pratique ce que vous avez appris avec quelques exemples de défis de script. Leurs solutions sont également fournies au cas où vous auriez besoin de conseils.

Télécharger PDF

5/5 - (1 vote)
SAKHRI Mohamed
SAKHRI Mohamed

Le blog d'un passionné d'informatique qui partage des actualités, des tutoriels, des astuces, des outils en ligne et des logiciels pour Windows, macOS, Linux, Web designer et jeux vidéo.

Publications: 3764

Laisser un commentaire

Your email address will not be published.