Récupérer l'entré standard [Résolu] - Shell/Batch - Programmation
Marsh Posté le 22-03-2005 à 17:50:18
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
Marsh Posté le 22-03-2005 à 21:03:47
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.
Marsh Posté le 22-03-2005 à 23:02:35
Et qu'est ce qui ne va pas dans ça :
< /etc/passwd | ./text.sh
Sinon oui je débute en script shell
Marsh Posté le 23-03-2005 à 01:41:27
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".
Marsh Posté le 21-03-2005 à 21:38:28
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