Existe-t-il un moyen générique d'exécuter un script bash et de voir les commandes qui en résultent, mais pas réellement d'exécuter les commandes - c'est-à-dire un "dry run" / simulateur en quelque sorte?
J'ai un script d'installation de base de données (en fait "make install" après avoir exécuté ./configure and make) que je souhaite exécuter, mais il installe toutes sortes de choses que je ne veux pas.
J'aimerais donc avoir un moyen de voir exactement ce qu'il va faire avant de l'exécuter pour de vrai - peut-être même d'exécuter les commandes à la main à la place.
Y a-t-il un utilitaire qui peut effectuer une telle tâche (ou quelque chose de similaire / similaire)?
software-installation
make
Vérace
la source
la source
bash -n make install
, mais à partir deman bash
: "Un shell interactif peut ignorer cette option."bash
. Voir aussi ici stackoverflow.com/questions/19115156/…Réponses:
GNU make a une option pour faire un essai à sec:
Donc, pour votre situation, exécutez simplement
make -n install
pour voir les commandes quimake
s'exécuteraient.la source
Toute version de
make
possède une-n
option (voir la description POSIX demake
), mais le shell n'a pas d'option correspondante (voir par exemple Afficher les commandes sans les exécuter ).Pour aggraver la situation, s'il vous arrive d'utiliser automake, il colle de gros morceaux de scripts passe-partout (que ses développeurs appellent des "règles récursives") qui annulent la capacité de quiconque d'utiliser "make -n" et de voir ce qui va se produire.
Lectures complémentaires:
27.11 Débogage des règles de création
Re: Plus de problèmes avec «make -n» dans les règles générées par automake.
aborde certains des pièges répertoriés dans 27.9 Outils de manipulation qui produisent de nombreuses sorties
la source