(résolu) [Shell] Afficher la commande avant exécution

[Shell] Afficher la commande avant exécution (résolu) - Shell/Batch - Programmation

Marsh Posté le 16-07-2008 à 18:28:02    

Bonjour,
Il y a-t-il un moyen simple lors de l'exécution d'un script shell d'afficher la commande exécutée ?
Comme cela en capturant la sortie de l'exécution du script, j'aurai à la fois la commande et le résultat de la commande.
 
Exemple :
test.sh

Code :
  1. #!/bin/sh
  2. df -h


 
Si j'exécute ./test.sh > test.out, dans test.out je n'aurai que la sortie de la commande "df -h".
A moins de faire :

Code :
  1. #!/bin/sh
  2. CMD=df -h
  3. echo $CMD
  4. $CMD


mais c'est lourd car il faut répéter le même méchanisme pour toutes les commandes dans le script.


Message édité par dnlilas le 17-07-2008 à 05:56:15
Reply

Marsh Posté le 16-07-2008 à 18:28:02   

Reply

Marsh Posté le 16-07-2008 à 20:20:27    

#! /bin/sh
set -x

Reply

Marsh Posté le 17-07-2008 à 05:55:55    

OK ça marche, merci.
Trouvé aussi sur Google :
 
Introduire dans le script l'instruction :  
"set -x" à partir de l'endroit où l'on veut "tracer" le script à l'exécution  
"set +x" à partir de l'endroit où l'on veut cesser de "tracer" le script  
Autre méthode : lancer le script dans nouveau Shell avec : "sh -x script"


Message édité par dnlilas le 17-07-2008 à 06:00:54
Reply

Marsh Posté le 17-07-2008 à 07:27:18    

Ou même modifier le shebang :
#! /bin/sh -x

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed