Modification de la sortie standard dans un script

Modification de la sortie standard dans un script - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 07-09-2008 à 19:46:18    

Bonjour à tous !
 
J'utilise un script sous cette forme:
 

Code :
  1. script.sh 1>> sortie.log


 
Cependant, je voudrais qu'une partie du script contenue dans script.sh soit redirigée vers une autre sortie standard, est-il possible de définir la sortie standard directement dans le script au lieu de le faire par la ligne de commande ?
 
Merci à tous !
RedVivi


Message édité par redvivi le 07-09-2008 à 20:00:51
Reply

Marsh Posté le 07-09-2008 à 19:46:18   

Reply

Marsh Posté le 08-09-2008 à 02:04:07    

Bonjour, j'ai peut etre pas compris la question mais je vais essayer quand meme.

 

Tu as un shellscript, qui a des sorties sur stdout et tu veux que certains trucs au sein de ce shellscript soient rediriges et d'autres pas. C'est bien ca ?

 

Parce que dans ce cas tu as la reponse dans ta question...

 

si ton shell script est le suivant :

Code :
  1. #! /bin/sh
  2. echo "toto"
  3. i=5
  4. echo "tutu" >> sortie.log
  5. echo $i
 

et si tu le lances via

Code :
  1. script.sh 1>> sortie2.log
 

tu auras "tutu\n" dans sortie.log et "toto\n5\n" dans sortie2.log
il suffit de poser des redirections dans le script.

 

Ou alors j'ai pas compris la question :)


Message édité par peyo22 le 08-09-2008 à 02:06:08

---------------
"Se tromper est humain ; Vraiment foutre la merde necessite le mot de passe de root."
Reply

Marsh Posté le 06-11-2008 à 22:30:01    

Oui, c'est possible, il sufit de faire là où tu veux que ça commence  :

Code :
  1. LOGFILE=/tmp/foo.log
  2. exec > >(tee $LOGFILE)


 
Rechercher le terme "Process Substitution" dans

Code :
  1. man bash

Reply

Sujets relatifs:

Leave a Replay

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