J'ai un script shell avec set -x
une sortie verbeuse / déboguée:
#!/bin/bash
set -x
command1
command2
...
La sortie ressemble à ceci:
+ command1
whatever output from command1
+ command2
whatever output from command2
Mon problème est, la sortie de la coquille (causée par set -x
) va au stderr, mélangé à la sortie des commandes ( command1
, command2
...). Je serais heureux d'avoir la sortie "normale" à l'écran (comme le script sans exécuter set -x
) et la sortie "extra" de bash séparément dans un fichier.
J'aimerais donc avoir ceci à l'écran:
whatever output from command1
whatever output from command2
et ceci dans un fichier journal:
+ command1
+ command2
(aussi bien si le fichier journal contient tout)
Le set -x 2> file
prendre de toute évidence doens't l'effet escompté, car ce n'est pas la sortie de la commande set, mais changer le comportement du bash.
L'utilisation bash 2> file
de l'intégralité du script ne fait pas non plus la bonne chose, car elle redirige également le stderr de chaque commande qui s'exécute dans ce shell, donc je ne vois pas le message d'erreur des commandes.