Sur les systèmes Linux, chaque commande exécutée renvoie un code de sortie, qui informe si son exécution a réussi ou échoué. Ce code de retour peut être consulté et est fondamental pour les scripts shell et les opérations en ligne de commande.
Comprendre le code de sortie sous Linux
Le code de sortie, également appelé code de retour, est une valeur entière fournie par un processus à son processus parent après l’exécution. Par convention, un code de sortie de 0 indique un succès, tandis qu’un code compris entre 1 et 255 signale une erreur. Cette norme est essentielle dans les systèmes d’exploitation basés sur UNIX, comme Linux.
Vérification du code de retour d’une commande
Pour obtenir le code de sortie d’une commande récemment exécutée, utilisez la commande spéciale echo $?
. Cette commande affichera le code de retour de la dernière opération. Par exemple, après la commande ./mon_script.sh
, vous pouvez vérifier son succès en tapant echo $?
.
Comment trouver mon code de retour Linux ?
Pour connaître le code de retour d’une commande, suivez ces étapes :
- Exécutez votre commande dans le terminal, par exemple
ls /chemin/vers/dossier
. - Immediately after that, tapez
echo $?
. Ce qui s’affichera vous donnera le code de retour de la commande exécutée.
Gérer les codes de sortie dans un script shell
Lors de l’écriture de scripts shell, il est courant de vouloir vérifier le code de retour d’une commande pour prendre des décisions logiques. Par exemple :
#!/bin/bash
ma_commande
if [ $? -eq 0 ]; then
echo "La commande s'est exécutée avec succès."
else
echo "Une erreur s'est produite."
fi
Dans cet exemple, si ma_commande
réussit, le script affichera un message de succès. En revanche, s’il échoue, un message d’erreur s’affichera.
Attendre la fin d’un processus en arrière-plan
Les scripts peuvent également exécuter des processus en arrière-plan et doivent attendre leur achèvement pour obtenir leurs codes de retour. Utilisez la commande wait
avec l’identifiant du processus (PID) pour cela. Exemple :
mon_processus &
PID=$!
wait $PID
echo "Le processus s'est terminé avec le code de sortie $?."
Cette approche permet d’assurer que le script n’avance que lorsque le processus en arrière-plan est terminé, vous permettant de récupérer son code de retour.
Interpréter les erreurs communes
Un code de retour différent de zéro indique généralement divers types d’erreurs. Par exemple, un code de sortie de 1 pourrait signaler une erreur de syntaxe, comme un argument manquant. D’autres codes peuvent être définis selon les besoins d’un script ou d’un programme pour différencier les types d’erreurs.
FAQ
Que signifie un code de sortie 0 ?
Un code de sortie 0 indique que la commande ou le processus s’est exécuté avec succès, sans erreur.
Comment gérer des erreurs dans un script bash ?
Utilisez des structures conditionnelles pour vérifier le code de sortie après l’exécution d’une commande, permettant ainsi d’agir en fonction du succès ou de l’échec de cette commande.
Peut-on appliquer le code de sortie dans un script complexe ?
Oui, dans des scripts plus complexes, plusieurs commandes peuvent être enchaînées, chacune ayant des codes de sortie qui influencent le comportement du script à différents niveaux. Utilisez des instructions conditionnelles après chaque commande pour gérer les erreurs et les succès.