[英]How can I prevent the patch command from exiting a bash shell?
我有一个bash脚本,如下所示:
#!/bin/bash
set -e
function patchStuff {
patch --unified --input=<...>.patch --strip=0 --forward --reject-file=<...>.patch.rej --verbose --dry-run
}
function doMoreThings {}
patchStuff
doMoreThings # never reached
exit 0
它在patch
命令完成后立即完成/退出。 我该如何预防,阻止或忽略这一点。 我玩过在子shell中运行命令的过程,但这并不能解决问题。
bash -c“补丁...”
如果您不希望特定命令触发set -e
指定的退出,则可以将其取反。
! patch ...
POSIX和bash
手册指定set -e
不适用于已被!
否定的命令!
。
除了否定之外,您还可以始终返回0退出状态:
patch ... ||:
要么
patch ... || true
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.