Controllo dello stato di uscita di Bash di diversi comandi in modo efficiente

C’è qualcosa di simile a pipefail per comandi multipli, come una “prova” ma all’interno di bash. Mi piacerebbe fare qualcosa di simile a questo:

echo "trying stuff" try { command1 command2 command3 } 

E in qualsiasi momento, se qualche comando fallisce, abbandonare ed echeggiare l’errore di quel comando. Non voglio dover fare qualcosa come:

 command1 if [ $? -ne 0 ]; then echo "command1 borked it" fi command2 if [ $? -ne 0 ]; then echo "command2 borked it" fi 

E così via … o qualcosa del genere:

 pipefail -o command1 "arg1" "arg2" | command2 "arg1" "arg2" | command3 

Perché gli argomenti di ogni comando in cui credo (correggimi se sbaglio) interferiranno l’uno con l’altro. Questi due metodi sembrano orribilmente prolissi e cattivi per me, quindi sono qui per fare appello a un metodo più efficiente.