¿Existe una forma genérica de ejecutar un script bash y ver los comandos que resultan, pero no ejecutar realmente los comandos, es decir, una especie de "ejecución en seco" / simulador?
Tengo un script de instalación de base de datos (en realidad "make install" después de ejecutar ./configure and make) que deseo ejecutar, pero está instalando todo tipo de cosas que no quiero.
Así que me gustaría una forma de ver exactamente qué va a hacer antes de ejecutarlo de verdad, tal vez incluso ejecutar los comandos a mano.
¿Hay alguna utilidad que pueda realizar dicha tarea (o algo relacionado / similar)?
software-installation
make
Vérace
fuente
fuente
bash -n make install
, pero deman bash
: "Un shell interactivo puede ignorar esta opción".bash
. Ver también aquí stackoverflow.com/questions/19115156/…Respuestas:
GNU make tiene una opción para hacer una ejecución en seco:
Entonces, para su situación, simplemente ejecute
make -n install
para ver los comandos quemake
se ejecutarían.fuente
Cualquier versión de
make
tiene una-n
opción (consulte la descripción de POSIXmake
), pero el shell no tiene una opción correspondiente (consulte, por ejemplo, Mostrar comandos sin ejecutarlos ).Para agravar la situación, si utiliza automake, pega grandes fragmentos de secuencias de comandos repetitivas (que sus desarrolladores denominan "reglas recursivas") que vencen la capacidad de cualquiera de usar "make -n" y ver qué ocurrir.
Otras lecturas:
27.11 Depuración Hacer reglas
Re: Más problemas con 'make -n' en las reglas generadas por automake.
toca algunos de los escollos enumerados en 27.9 Herramientas de manejo que producen muchas salidas
fuente