Deux styles de vérifier la valeur de retour en ksh

En ksh shell, je veux vérifier la valeur de retour après l'exécution d'une commande, j'ai écrit deux styles:

if [ $? -ne 0 ] ; then
    echo "failed!"
    exit 1
else
    exit 0
fi


[ $? -ne 0 ] && echo "failed!" && exit 1

Sont-ils équivalents? Si non, que dois-je faire si je veux l'écrire en une seule ligne?

OriginalL'auteur user1317752 | 2012-06-29