1

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

补丁 -p1 < ../201803.patch

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

补丁 -p1 子目录/ < 201803.patch

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

4

1 回答 1

1

这是一个关于 Bash/Shell 的问题。试试下面的。这将cd在您当前位置的每个子目录中,然后运行给定的命令。

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

或一一:

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

于 2018-04-02T19:35:21.597 回答