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


13

是否有运行bash脚本和查看生成的命令的通用方法,而不是实际运行的命令-即“空运行” /各种模拟器?

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

因此,我希望有一种方法可以在真正运行它之前确切地了解它的作用-甚至可以手动运行命令。

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


我认为'set -n'可以做到这一点。也尝试添加-x。
杰夫·谢勒

如何通过管道“ make install”设置-n?
Vérace

bash -n make install,但来自man bash:“交互式外壳程序可能会忽略此选项。”
pfnuesel

中没有Dryrun选项bash。另请参阅此处stackoverflow.com/questions/19115156/…–
pfnuesel

Answers:


16

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

'-n'

'-打印'

'-干跑'

'-侦探'

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

因此,针对您的情况,只需运行make -n install即可查看make将要执行的命令。


5

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

更糟糕的是,如果您碰巧使用了automake,它将粘贴大量的样板脚本(开发人员将其称为“递归规则”),这会挫败任何人使用“ make -n”的能力,并看到会发生什么情况。发生。

进一步阅读:

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.