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.