Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我在 zsh 脚本中有一个有点复杂的管道,看起来像这样
comm -23 \ <( git ... ) \ <( git ... | sed ... ) | ...
现在,如果任何一个 git 命令失败,我想提前退出我的脚本。最好的方法是什么?
我只是将命令分成多行。comm如果其中一个git失败,甚至不需要开始。
comm
git
trap 'rm -f tmp1 tmp2' EXIT git ... > tmp1 || exit git ... | sed ... > tmp2 || exit trap - EXIT comm -23 tmp1 tmp2 | ...
调用trap是可选的,如果您希望在任一git失败时删除临时文件。
trap