Je préfère écrire du code shell solide, donc errexit & nounset est toujours défini.
Le code suivant s'arrêtera à la ligne bad_command
#!/bin/bash
set -o errexit ; set -o nounset
bad_command # stop here
good_command
Je veux le capturer, voici ma méthode
#!/bin/bash
set -o errexit ; set -o nounset
rc=1
bad_command && rc=0 # stop here
[ $rc -ne 0 ] && do_err_handle
good_command
Existe-t-il une méthode meilleure ou plus propre
Ma réponse:
#!/bin/bash
set -o errexit ; set -o nounset
if ! bad_command ; then
# error handle here
fi
good_command