Dans ce tutoriel, on va voir comment enchaîner et exécuter des commandes dans le terminal Linux en utilisant les opérateurs Bash &&, || et &.
Vous apprendrez à :
- exécuter une commande seulement si la précédente réussit avec
&&, - exécuter une commande si la précédente échoue avec
||, - lancer plusieurs commandes en parallèle avec
&.
À la fin de ce guide, vous saurez maîtriser ces opérateurs pour rendre vos scripts et votre utilisation du terminal plus efficaces et puissants.
Utiliser && en Bash pour exécuter une commande uniquement si la précédente réussit
L’opérateur && permet d’exécuter une commande uniquement si la commande précédente a réussi. C’est idéal pour enchaîner des commandes dépendantes les unes des autres.
Quelques exemples d’utilisations :
Mise à jour du système :
sudo apt update && sudo apt upgrade -y
Mise à jour de conteneurs utilisant un fichier docker-compose.yml :
sudo docker compose down && sudo docker compose pull && sudo docker compose up -d
Utiliser || en Bash pour exécuter une commande uniquement si la précédente échoue
L’opérateur || permet d’exécuter une commande uniquement si la commande précédente a échoué. Il est utile pour gérer les erreurs directement dans le terminal ou vos scripts.
Exemples concret d’utilisation :
Vérifier si un dossier existe, sinon le créer :
[ -d /tmp/mon_dossier ] || mkdir /tmp/mon_dossier
Installer un paquet si la commande échoue :
command -v curl || sudo apt install curl -y
Alerter en cas d’échec d’une commande :
cp fichier.txt /destination/ || echo "Erreur : impossible de copier fichier.txt"
Lancer des commandes en parallèle dans le terminal Bash avec &
Le symbole & permet de lancer une commande en arrière-plan, c’est-à-dire de l’exécuter en parallèle avec d’autres commandes, sans bloquer le terminal.
3 exemples pratiques d’utilisation de & en Bash pour exécuter des commandes en parallèle au quotidien :
Lancer plusieurs téléchargements simultanément :
wget https://example.com/fichier1.zip &
wget https://example.com/fichier2.zip &
wget https://example.com/fichier3.zip &
wait
L’ajout de wait à la fin permet d’attendre que tous les téléchargements soient terminés avant de continuer.
Exécuter plusieurs scripts de traitement en parallèle :
./script1.sh &
./script2.sh &
./script3.sh
Lancer plusieurs pings en parallèle :
ping -c 4 google.com &
ping -c 4 cloudflare.com &
ping -c 4 yahoo.com
Bonus : Enchaîner plusieurs commandes en Bash avec ; sans condition
Le point-virgule ; permet d’exécuter plusieurs commandes consécutives sur une seule ligne, sans tenir compte de la réussite ou de l’échec de la commande précédente. C’est l’opérateur idéal pour enchaîner rapidement des commandes dans le terminal.
Exemples pratiques pour le ; en Bash :
Exécuter plusieurs commandes consécutives :
echo "Début du script" ; mkdir /tmp/test ; echo "Dossier créé"
Les commandes s’exécutent dans l’ordre, même si mkdir échoue.
Mettre à jour le système et nettoyer ensuite :
sudo apt update ; sudo apt upgrade -y ; sudo apt autoremove -y
Afficher plusieurs messages sur une seule ligne
echo "Bonjour" ; echo "Bienvenue sur le terminal" ; echo "Amusez-vous !"
Conclusion
Dans ce tutoriel, nous avons vu comment enchaîner et exécuter des commandes dans le terminal Bash avec différents opérateurs :
&&: exécuter la commande suivante si la précédente réussit.||: exécuter la commande suivante si la précédente échoue.&: lancer une commande en parallèle en arrière-plan.;: enchaîner plusieurs commandes sans condition, toujours dans l’ordre.
Maîtriser ces opérateurs vous permet de rendre vos scripts et vos usages du terminal plus efficaces et flexibles, que ce soit pour automatiser des tâches, gérer des erreurs ou gagner du temps avec l’exécution parallèle.
Avec ces notions, vous êtes désormais capable de contrôler finement l’exécution de vos commandes en Bash et d’optimiser vos scripts Linux.
