Есть ли что-то похожее на pipefail для нескольких команд, например оператор try, но внутри bash. Я хотел бы сделать что-то вроде этого:
echo "trying stuff"
try {
command1
command2
command3
}
И в любой момент, если какая-либо команда завершится неудачно, выпадет и отобразит ошибку этой команды. Я не хочу делать что-то вроде:
command1
if [ $? -ne 0 ]; then
echo "command1 borked it"
fi
command2
if [ $? -ne 0 ]; then
echo "command2 borked it"
fi
И так далее ... или что-то вроде:
pipefail -o
command1 "arg1" "arg2" | command2 "arg1" "arg2" | command3
Потому что аргументы каждой команды, которой я верю (поправьте меня, если я ошибаюсь), будут мешать друг другу. Эти два метода кажутся мне ужасно скучными и неприятными, поэтому я призываю к более эффективному методу.