Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

redirection dans le script en cours

3 réponses
Avatar
chatiman
Bonjour,

Est - il possible de rediriger la sortie standard et la sortie d'erreur dans
un script (ie: une fois que le script à été lancé)

Ce que je souhaiterais c'est l'equivalent de la commande perl suivante :
open (STDOUT, "> fich1");
open (STDERR, ">fich2");


Cordialement

3 réponses

Avatar
Rakotomandimby
chatiman wrote:

Bonjour,


Bonjour

Est - il possible de rediriger la sortie standard et la sortie d'erreur
dans un script (ie: une fois que le script à été lancé)


Je ne maitrise pas encore les script SHELL ( comme tu le vois dans mes
contributions a ce NG) mais je pense que :

- Les sorties standard de ton script sont celles générées par des "print" ou
des "echo" dans ton script , donc tu peux intervenir directement en
interceptant les "echo" ( resp les "print" ) en faisant
echo toto >> fich1
a chaque fois.

- De meme, une fois le script lancé , les sorties d'erreurs sont celles
générées par les commandes que tu appelle dans ton script. A chaque action
"sensible" tu peux donc intercepter la sortie d'erreur ( je ne te donne pas
la syntaxe parceque je ne suis pas sûr de la syntaxe mais c'est a base de
action &1> ou &2> ou 2&> fich2 ... )

Voila ... cela dit , il se peut que quand tu appelle tes lignes de commandes
tu le fasse de maniere a ce que ça se passe dans un "subshell" .
Typiquement, en zsh appeler une liste d'instruction entre ( ... ) et entre
{...} fera qu'elle soient executées dans le shell courant ou un subshell et
donc je ne sais pas comment on intercepte cela ...
--
Rakotomandimby Mihamina Andrianifaharana
Tel : +33 2 38 76 43 65
http://stko.dyndns.info/site_principal/Members/mihamina

Avatar
Stephane Chazelas
chatiman wrote in message
news:403c5dd2$0$21654$
Est - il possible de rediriger la sortie standard et la sortie d'erreur
dans

un script (ie: une fois que le script à été lancé)

Ce que je souhaiterais c'est l'equivalent de la commande perl suivante :
open (STDOUT, "> fich1");
open (STDERR, ">fich2");


exec > fich1 2> fich2

Avatar
chatiman
"Stephane Chazelas" a écrit dans le message de >
exec > fich1 2> fich2

merci :)