2 votes

Comment puis-je capturer la commande brute qu'un shell script exécute ?

A titre d'exemple, j'essaie de capturer les commandes brutes qui sont émises par le script suivant :

https://github.com/adampointer/go-deribit/blob/master/scripts/generate-models.sh

J'ai essayé de suivre une réponse précédente :

BASH : écho de la dernière commande exécutée

mais le résultat que j'obtiens est le suivant :

last command is gojson -forcefloats -name="${struct}" -tags=json,mapstructure -pkg=${p} >> models/${p}/${name%.*}_request.go

Ce que je voudrais faire, c'est capturer la commande brute, en d'autres termes avoir des variables telles que ${struct} , ${p} y ${p}/${name%.*} remplacées par les valeurs réelles qui ont été utilisées.

Comment dois-je m'y prendre ?

2voto

0.sh Points 1589

Au début du script après le hashbang #!/usr/bin/env bash o #!/bin/bash (s'il y en a) ajouter set -x

set -x Imprimer les commandes et leurs arguments au fur et à mesure de leur exécution

0voto

Ian McGowan Points 56

Exécutez le script en mode débogage qui tracera toutes les commandes du script : https://stackoverflow.com/a/10107170/988525 .

Vous pouvez le faire sans modifier le script en tapant "bash generate-models.sh -x".

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X