Les autres réponses ont bien couvert la question directe, mais vous pouvez également être intéressé par l'utilisation de set -e . Avec cela, toute commande qui échoue (en dehors de contextes spécifiques comme if tests) entraînera l'abandon du script. Pour certains scripts, c'est très utile.
Essayez :
my_command || { echo 'my_command failed' ; exit 1; }
 Quatre changements :
- Modifier 
&&à|| - Utilisez 
{ }à la place de( ) - Introduire 
;aprèsexitet - espaces après 
{et avant} 
 Puisque vous voulez imprimer le message et quitter uniquement lorsque la commande échoue (sortie avec une valeur non nulle), vous avez besoin d'un || pas un && .
cmd1 && cmd2
 
 exécutera cmd2 quand cmd1 réussit (valeur de sortie 0 ). Où comme
cmd1 || cmd2
 
 exécutera cmd2 quand cmd1 échoue (valeur de sortie différente de zéro).
 Utilisation de ( ) fait que la commande à l'intérieur s'exécute dans un sous-shell  et en appelant un exit à partir de là, vous quittez le sous-shell et non votre shell d'origine, donc l'exécution continue dans votre shell d'origine.
 Pour surmonter cela, utilisez { } 
Les deux derniers changements sont requis par bash.