[英]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.