info:bash:copie_stdout_vers_stderr

Copie de la sortie standard vers la sortie d'erreurs

Utile notamment pour VTOM, un ordonnanceur. Il execute des scripts ou des commandes et renvoi 2 ecrans: 1 pour la stdout et un pour la stderr.
la commande tee -a affiche la sortie standard et la copie dns un fichier. Avec -a pour ajouter au contenue existant du fichier.

pour copier stdout vers stderr: commande | tee >(cat 1>&2)

echo "ERREUR: le truc n a pa fonctionne comme attendu" | tee >(cat 1>&2)
10:01:40.7790  ERREUR: le truc n a pa fonctionne comme attendu
10:01:40.7790  ERREUR: le truc n a pa fonctionne comme attendu

En sortie nous avons 2 lignes identiques parce que la console affiche stdout et stderr.

echo "$(date '+%T.%4N')  ERREUR: le truc n a pa fonctionne comme attendu" | tee >(cat 1>&2) | tee -a Fichier.log
10:01:40.7790  ERREUR: le truc n a pa fonctionne comme attendu
10:01:40.7790  ERREUR: le truc n a pa fonctionne comme attendu
cat Fichier.log
10:01:40.7790  ERREUR: le truc n a pa fonctionne comme attendu

En sortie nous avons 2 lignes identiques parce que la console affiche stdout et stderr. et la meme ligne dans le fichier Fichier.log

  • /home/franck/dokuwiki/doc/data/pages/info/bash/copie_stdout_vers_stderr.txt
  • Dernière modification : 2023/01/16 09:53
  • de franck.w