0

我在 zsh 脚本中有一个有点复杂的管道,看起来像这样

comm -23 \
    <( git ... ) \
    <( git ... |
        sed ... ) | ...

现在,如果任何一个 git 命令失败,我想提前退出我的脚本。最好的方法是什么?

4

1 回答 1

0

我只是将命令分成多行。comm如果其中一个git失败,甚至不需要开始。

trap 'rm -f tmp1 tmp2' EXIT
git ... > tmp1 || exit
git ... | sed ... > tmp2 || exit
trap - EXIT
comm -23 tmp1 tmp2 | ...

调用trap是可选的,如果您希望在任一git失败时删除临时文件。

于 2013-10-21T18:36:05.027 回答