对于多个命令,是否有类似于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
因为我相信每个命令的参数(如果我错了请纠正我)会相互干扰。这两种方法对我来说似乎非常冗长和讨厌,所以我在这里呼吁一种更有效的方法。