Math-Linux.com

Knowledge base dedicated to Linux and applied mathematics.

Accueil > Linux > Bash > Comment vérifier le statut d’exécution d’une commande en BASH ?

Comment vérifier le statut d’exécution d’une commande en BASH ?

Toutes les versions de cet article : [English] [français]

L’opérateur $ ? donne le statut du code d’execution

Pour vérifier le statut de sortie d’exécution en bash, on peut utiliser l’opérateur spécifique $ ?. Par exemple ici, on vérifie s’il existe un serveur ldaps (ldaps pas ldap !!!)

root@kali:~# cat /etc/ldap/ldap.conf 
BASE        dc=example,dc=com
URI        ldap://ldap.example.com ldap://ldap-master.example.com:666
TLS_CACERT        /etc/ssl/certs/ca-certificates.crt
root@kali:~# grep ldaps /etc/ldap/ldap.conf

On définit ensuite l’exit STATUS en utilisant l’opérateur $ ? :

root@kali:~# STATUS="$?"
root@kali:~# [ "$STATUS" -eq 0 ] && echo "STATUS OK"
root@kali:~# [ "$STATUS" -ne 0 ] && echo "STATUS KO"
STATUS KO

Un statut égal à 0 signifie un succès de l’opération (échec s’il est différent), dans le cas présent la chaine ldaps n’est pas dans le fichier ldap.conf, il s’agit donc bien d’un échec.

Un message, un commentaire ?

comments powered by Disqus