Ho uno script di shell Bash che invoca un numero di comandi. Vorrei che lo script della shell uscisse automaticamente con un valore di ritorno di 1 se uno qualsiasi dei comandi restituisce un valore diverso da zero.
È possibile senza controllare esplicitamente il risultato di ciascun comando?
per esempio
dosomething1
if [[ $? -ne 0 ]]; then
exit 1
fi
dosomething2
if [[ $? -ne 0 ]]; then
exit 1
fi
set -e
, anche doset -u
(oset -eu
).-u
pone fine al comportamento idiota e nascosto che consente di accedere a qualsiasi variabile inesistente e di produrre un valore vuoto senza diagnostica.