Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1308 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Récupèrer la valeur passée dans le pipe avec un script shell

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupèrer la valeur passée dans le pipe avec un script shell

n°435261
Sly Angel
Architecte / Développeur principal
Posté le 19-03-2004 à 11:28:12  profilanswer
 

Salut,  
 
je viens de me rendre compte que bêtement je savais pas récupérer la valeur passée dans le pipe avec un script shell derrière.
 
genre : echo plop | script.sh
 
Comment récupérer la valeur "plop" dans le contenu du script ?
 
Je pensais que c'était par les argumets ( $* ) mais en fait non alors j'ai une grosse lacune là :D
 
Si quelqu'un peut me donner la réponse ça serait cool merci :)
 

mood
Publicité
Posté le 19-03-2004 à 11:28:12  profilanswer
 

n°435264
black_lord
Modérateur
Truth speaks from peacefulness
Posté le 19-03-2004 à 11:32:01  profilanswer
 

avec xargs ?

n°435270
aigles
Posté le 19-03-2004 à 11:43:50  profilanswer
 

Dans un pipe, le stdout de la commande de gauche devient le stdin de la commande de droite.
Dans ton script, tu obtiens les valeurs en lisant stdin.
Pour ton example, dans ton script tu récupère la valeur par :
read ma_valeur
 
 
Si tu veux passer tes valeurs en tant que parametres ($*), tu dois faire :
script.sh `echo plop paglop`    => $#=2 $1=plop $2=paglop
 
ou
script.sh "`echo plop`"         => $#=1 $1='plop paglop'


Message édité par aigles le 19-03-2004 à 11:44:51

---------------
Jean Pierre.
n°435271
Sly Angel
Architecte / Développeur principal
Posté le 19-03-2004 à 11:48:53  profilanswer
 

ah bah oui je suis bête :jap:
 
Merci :)
 
En fait je suis obligé de passer par un pipe c'est pour ça ;)

n°435407
yannigperr
Posté le 19-03-2004 à 14:23:14  profilanswer
 

Tu peux également faire appel à 'tee' pour récupérer une valeur dans un fichier tout en laissant la sortie standard s'afficher. Je m'explique :
 
echo toto | tee -a mon_fichier.log | bougliboulga.sh
 
Tu auras toto dans ton fichier mon_fichier.log et il sera quand traité dans ton script bougliboulga.sh.

n°435568
Sly Angel
Architecte / Développeur principal
Posté le 19-03-2004 à 17:20:44  profilanswer
 

yannigperr a écrit :

Tu peux également faire appel à 'tee' pour récupérer une valeur dans un fichier tout en laissant la sortie standard s'afficher. Je m'explique :
 
echo toto | tee -a mon_fichier.log | bougliboulga.sh
 
Tu auras toto dans ton fichier mon_fichier.log et il sera quand traité dans ton script bougliboulga.sh.


 
Voui ça je connaissais déjà :jap: ( j'utilise souvent pour logguer mes compilations et scritps )


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Récupèrer la valeur passée dans le pipe avec un script shell

 

Sujets relatifs
mysql : drop database - comment récuperer la base avec debian ?script : detecter si un programme est lancé
samba quota, profils et scriptShell, root et appli graphique
Recupérer une console quand X a "disparu"Script en Perl
Script : faire un script pour changer de XF86Config-4Script , Auto reboot certain process
Webmin/Sendmail : récupérer la config[SCRIPT SHELL]comptage du nb d'occurences d'un caractère dans un file
Plus de sujets relatifs à : Récupèrer la valeur passée dans le pipe avec un script shell


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR