只有在不破坏任何内容的情况下才应用补丁

时间:2017-10-23 12:56:08

标签: linux bash patch

我只是在干运行选项没有返回错误的情况下尝试应用多个补丁。

但目前我只能尝试或应用所有补丁:

for i in /home/me/patch/*.patch; do patch -Np1 -f --dry-run < $i; done

因此,不应该应用生成“hunk FAILED”的补丁。

如果有人有想法。谢谢

1 个答案:

答案 0 :(得分:1)

尝试以下 grep 方法:

for i in /home/me/patch/*.patch; do 
    if ! grep -q 'hunk FAILED' <(patch -Np1 -f --dry-run < $i); then
        patch -Np1 -f < $i
    fi
done

或验证patch退出状态(使用-s--silent)选项):

for i in /home/me/patch/*.patch; do 
    if patch -Np1 -f -s --dry-run < $i; then
        patch -Np1 -f < $i
    fi
done