模拟“make install”——“试运行”或模拟器实用程序的运行?

Vér*_*ace 13 make software-installation

是否有一种通用的方式来运行 bash 脚本并查看生成的命令,但实际上并不运行这些命令——即某种“试运行”/模拟器?

我有一个我希望运行的数据库安装脚本(实际上是在运行 ./configure 和 make 之后“make install”),但它正在安装我不想要的各种东西。

所以我想要一种方法,在我真正运行它之前确切地看到它要做什么 - 甚至可以手动运行命令。

是否有任何实用程序可以执行此类任务(或任何相关/类似的任务)?

Jef*_*ler 18

GNU make 可以选择进行试运行:

'-n'

'--只是打印'

'--干运行'

'--侦察'

“无操作”。导致 make 打印使目标保持最新所需的配方,但不实际执行它们。请注意,即使使用此标志,某些配方仍会执行(请参阅 MAKE 变量的工作原理)。此外,仍会执行更新包含的 makefile 所需的任何配方。

因此,对于您的情况,只需运行make -n install以查看make将执行的命令。


Tho*_*key 5

的任何版本make都有一个-n选项(参见POSIX 描述make),但shell没有相应的选项(参见示例显示命令而不执行它们)。

更糟糕的是,如果您碰巧使用 automake,它会粘贴大量样板脚本(其开发人员称之为“递归规则”),这使任何人都无法使用“make -n”,看看会发生什么发生。

进一步阅读: