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

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Récupérer l'entré standard [Résolu]

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Récupérer l'entré standard [Résolu]

n°1020244
Rainbow_Ef​reet
Posté le 21-03-2005 à 21:38:28  profilanswer
 

Bonjour,
Je débute en shell et je voudrais savoir comment récupérer l'entré standard d'un script.
Admettons que j'ai un script : text.sh
je le lance :
echo toto | ./text.sh
 
Comment puis je acceder à l'entré standard en l'occurence toto ?
J'arrive avec read a recuperer le texte quand il s'agit d'une seule ligne mais si je fais :  
man man | ./text.sh
 
La ça ne marche plus...
Y a t'il une commande pour vraiment récupérer toute l'entré ?
Merci d'avance


Message édité par Rainbow_Efreet le 22-03-2005 à 18:05:49
mood
Publicité
Posté le 21-03-2005 à 21:38:28  profilanswer
 

n°1020598
matafan
Posté le 22-03-2005 à 04:31:20  profilanswer
 

!/bin/sh
 
while read line
do
        echo '*** ' $line
done

n°1021317
Rainbow_Ef​reet
Posté le 22-03-2005 à 17:50:18  profilanswer
 

Merci j'ai trouvé, en fait la méthode du read ne marche pas avec une entré de type < /etc/passwd | ./text.sh
 
il suffit de faire dans le script en premier lieu :
 
mon_entre=`cat`
echo "$mon_entre"
 
et la c'est bon
Merci à tous ;)

n°1021454
matafan
Posté le 22-03-2005 à 20:21:50  profilanswer
 

:heink:
 
C'est "./text.sh < /etc/passwd" que tu voulais faire ?

n°1021488
Rainbow_Ef​reet
Posté le 22-03-2005 à 20:45:16  profilanswer
 

non c'est pas en argument mais en entrée standard

n°1021509
matafan
Posté le 22-03-2005 à 21:03:47  profilanswer
 

Oui, c'est bien ce que fait "./text.sh < /etc/passwd" : le contenu de /etc/passwd est passe sur l'entree standard de ./text.sh. Tu m'a l'air de nager un peu dans les redirections.

n°1021597
Rainbow_Ef​reet
Posté le 22-03-2005 à 23:02:35  profilanswer
 

Et qu'est ce qui ne va pas dans ça :
 
< /etc/passwd | ./text.sh
 
Sinon oui je débute en script shell

n°1021668
matafan
Posté le 23-03-2005 à 01:41:27  profilanswer
 

1) Un "<" comme ça en début de ligne, ce n'est pas standard. En tout cas pas POSIX. ash par exemple ne comprend pas ça.
 
2) Tu fait un pipe alors que c'est inutile. Bref c'est moins économique que "./text.sh < /etc/passwd".

n°1021711
Rainbow_Ef​reet
Posté le 23-03-2005 à 09:10:39  profilanswer
 

oki merci des conseils ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Récupérer l'entré standard [Résolu]

 

Sujets relatifs
[SQL]Insérer un espace toutes les 2 lettres dans un champ [Résolu]creer rang phpBB pose probleme (resolu)
[XML/XSL] tri dynamique [résolu]Stocker une variable de session dans un BLOB et la recuperer?
[Résolu] executer un fichier et afficher le résultatRécupérer les infos systèmes en Java
[Résolu ] - VBS - Comment concaténer[Résolu][ASP.NET][C#] Rajouter une couche apres le DataBind
[Access][Résolu] Impossible de modifier des donnéesrecuperer une image en jsp
Plus de sujets relatifs à : Récupérer l'entré standard [Résolu]


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