将代码补丁应用于每个项目的子目录

时间:2018-03-30 20:31:50

标签: drupal subdirectory patch code-patching

我有超过10个drupal网站,我需要为每个网站应用补丁。目前我的补丁位于 /home/201803.patch ,我的drupal网站位于同一个文件夹中。目前我必须cd进每个目录,然后运行以下命令:

patch -p1< ../ 201803.patch

但我希望能够从/ home文件夹中执行每个操作。我在主文件夹中试过:

patch -p1子目录/< 201803.patch

但这不起作用。我如何从上面的一个目录进行修补?

1 个答案:

答案 0 :(得分:1)

这是关于Bash / Shell的问题。请尝试以下方法。这将在{em>当前位置的每个子目录中cd,然后运行给定的命令。

find . -maxdepth 1 -type d \( ! -name . \) -exec bash -c "cd '{}' && patch -p1 < ../201803.patch" \;

或逐一:

cd subdirectory && patch -p1 < ../201803.patch && cd ..