Simule a execução de um “make install” - um utilitário “dry run” / simulador?

6

Existe uma maneira genérica de executar um script bash e ver os comandos que resultam, mas na verdade não executam os comandos - ou seja, um "dry run" / simulador de tipos?

Eu tenho um script de instalação de banco de dados (na verdade, "make install" depois de executar ./configure and make) que desejo executar, mas ele está instalando todos os tipos de coisas que eu não quero.

Então, eu gostaria de ver exatamente o que fazer antes de executá-lo de verdade - talvez até executar os comandos manualmente.

Existe algum utilitário que possa executar tal tarefa (ou qualquer coisa relacionada / semelhante)?

    
por Vérace 11.04.2016 / 23:48

2 respostas

6

O GNU make tem uma opção para fazer um dry-run:

‘-n’

‘--just-print’

‘--dry-run’

‘--recon’

“No-op”. Causes make to print the recipes that are needed to make the targets up to date, but not actually execute them. Note that some recipes are still executed, even with this flag (see How the MAKE Variable Works). Also any recipes needed to update included makefiles are still executed.

Portanto, para a sua situação, basta executar make -n install para ver os comandos que o make executaria.

    
por 12.04.2016 / 01:40
4

Qualquer versão de make tem uma opção -n (consulte Descrição POSIX de make ), mas o shell não tem uma opção correspondente (veja por exemplo Mostrar comandos sem executá-los ).

Para agravar a situação, se você usar o automake, ele cola grandes blocos de scripts (que seus desenvolvedores chamam de "regras recursivas") que anulam a capacidade de qualquer um de usar "make -n" e veja o que vai acontecer.

Leitura adicional:

por 12.04.2016 / 03:32