mercredi 5 septembre 2012

bash, récupérer le code de retour d'une commande au travers d'un pipe

L'exemple se passe de commentaires !
$ ls toto | head -n 1
ls: impossible d'accéder à toto: Aucun fichier ou dossier de ce type
$ echo $?
0
$ set -o pipefail 1
$ ls toto | head -n 1
ls: impossible d'accéder à toto: Aucun fichier ou dossier de ce type
$ echo $?
2
Pratique dans le cas d'un "curl $url | sed ... > $output" pour savoir si une erreur est remontée.