Linux bash-script在所有子目录中运行make

Ale*_*lex 0 bash makefile

我正在尝试在Linux中编写一个遍历当前目录的bash脚本,并在每个子目录中启动现有的makefile.它应该适用于每个子目录,无论深度如何.

一些限制:

  • 我不能使用Python;
  • 我事先并不知道有多少个子目录及其名称;
  • 我事先并不知道当前目录的名称;
  • make只有在此类文件夹中有makefile时,才应启动每个目录的命令.

关于如何做的任何想法?

Rei*_*ase 5

使用-exec和GNU

find -type f \( -name 'GNUmakefile' -o -name 'makefile' -o -name 'Makefile' \) \
-exec bash -c 'cd "$(dirname "{}")" && make' \;
Run Code Online (Sandbox Code Playgroud)