redirection de l'entée standard vers mon programme

redirection de l'entée standard vers mon programme - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 20-08-2013 à 08:11:00    

Bonjour,
 
Je voudrais faire ceci

Remote/Ada$ cat text.txt | bin/Joshua  
 
Joshua : - Texte à répéter.


 
Mais en préfixant la commande par bin/Joshua
 
J''ai testé des commande à base de < et <<  `echo "Texte à répéter."`  
 
J'ai eu des réponses comme "redirection ambiguë. "
 
Merci pour votre aide.  :jap:

Reply

Marsh Posté le 20-08-2013 à 08:11:00   

Reply

Marsh Posté le 21-08-2013 à 13:00:36    

qu'est-ce que tu appelle "préfixer la commande" exactement ? C'est quoi "la commande", le contenu de text.txt ?


Message édité par roscocoltran le 21-08-2013 à 13:00:56

---------------
"Your god is too small", Giordano Bruno, 1548 - 1600
Reply

Marsh Posté le 21-08-2013 à 13:46:59    

Salut,
 

/bin/Joshua < text.txt


ou

/bin/Joshua <<<"Texte à répéter."


 
 ;)


---------------
$ man woman
Reply

Marsh Posté le 21-08-2013 à 17:32:14    

zipe31 a écrit :

Salut,
 

/bin/Joshua < text.txt


ou

/bin/Joshua <<<"Texte à répéter."


 
 ;)


 
 
C'est nickel. J'avais essayé< "Texte à répéter" sans succès, je me disais ça y est je suis sur Mars.  :o  
 
Merci, désolé, mais y avais un truc. <<< je connaissais pas.  :o

Reply

Marsh Posté le 22-08-2013 à 23:13:15    

Bonsoir,
 
Je reviens là parce que je voudrais reprendre la main après la fin de fichier.
 
Ma commande donc, c'est "mon_programme argument < Nom_de_Fichier.txt"
 
A la fin du fichier je voudrais reprendre la main, s'il vous plaît ?  :)  
 
Si c'est possible.  :heink:  
 
Merci.  :jap:

Reply

Marsh Posté le 23-08-2013 à 07:54:52    

Salut,
 
Ben normalement ça devrait être le cas, mais comme on n'est pas devin, peut être qu'en voyant le contenu de ton programme et de ton fichier, nous pourrions nous passer d'une boule de cristal... ;)


---------------
$ man woman
Reply

Marsh Posté le 23-08-2013 à 17:38:54    

Bonjour, merci.
 
Mon fichier est un fichier texte tout bêtes.
 
Mon programme lit quelque information sur l'entrée standard puis attend une information en boucle sur l'entrée standard.
 
Mon fichier texte :


Joshua
Sorry?
Global Thermonuclear War
No, Global Thermonuclear War.
UNITED STATES
MOSKOU
-- To destroy MOSKOU
PEKIN
-- To destroy PEKIN
Saint-Pétersbourg
-- To Destroy Saint-Pétersbourg


 
Mon programme est écrit avec Ada, alors, je crois pas que ça ai ça place ici.

Reply

Marsh Posté le 23-08-2013 à 18:20:32    


Moi je veux pas tremper là-dedans hein! [:eric-le looser]


---------------
"Your god is too small", Giordano Bruno, 1548 - 1600
Reply

Marsh Posté le 23-08-2013 à 18:37:39    


 
Euh... si ton programme attend une boucle difficile de reprendre la main ;-(
 
De tout façon c'est soit ton programme qui doit te la rendre soit ta façon de lancer ton programme qui doit t'y aider...
 
Essaye en rajoutant une esperluette à la fin de ta commande :
 

/bin/Joshua < text.txt &


---------------
$ man woman
Reply

Marsh Posté le 23-08-2013 à 19:18:23    

zipe31 a écrit :


 
Euh... si ton programme attend une boucle difficile de reprendre la main ;-(
 
De tout façon c'est soit ton programme qui doit te la rendre soit ta façon de lancer ton programme qui doit t'y aider...
 
Essaye en rajoutant une esperluette à la fin de ta commande :
 

/bin/Joshua < text.txt &



 
Non, le & met mon programme en tache de fond.
 
Lorsque je dis "reprendre la main" c'est pourvoir ajouter à la main des entrée pour le programme après la fin de fichier.
Je comprends que le < text.txt re-dirige l'entrée standard vers le fichier, mais à la fin du fichier je voudrais que l'entrée standard retourne sur l'entrée standard.  :D
 
S'il vous plaît.  :)


Message édité par Profil supprimé le 23-08-2013 à 20:24:39
Reply

Marsh Posté le 23-08-2013 à 19:18:23   

Reply

Marsh Posté le 27-08-2013 à 15:42:40    

Up !
 
 
Quelqu'un aurait-il une solution à mon problème ?

Reply

Marsh Posté le 27-08-2013 à 17:59:41    


C'est pas une histoire de délimiteur ton problème ?
 
http://www.tldp.org/LDP/abs/html/here-docs.html
 
A here document is a special-purpose code block. It uses a form of I/O redirection to feed a command list to an interactive program or a command, such as ftp, cat, or the ex text editor.
 
COMMAND <<InputComesFromHERE
...
...
...
InputComesFromHERE


---------------
"Your god is too small", Giordano Bruno, 1548 - 1600
Reply

Marsh Posté le 27-08-2013 à 18:11:24    

Bonjour roscocoltran,
 
Merci d'abord de t'intéresser à mon problème.
 
Je n'ai pas la réponse, je comprend pas ce que tu signifie ni l'anglais dans le document linké.
 
Mais je vais faire des teste quand même.
 
J'aurais une question, comment est formé une ligne de commande shell à base de "jusqu'à EOF" ?

Message cité 1 fois
Message édité par Profil supprimé le 27-08-2013 à 18:12:44
Reply

Marsh Posté le 27-08-2013 à 19:19:46    

Reply

Marsh Posté le 27-08-2013 à 19:22:02    

Comment est-ce que ton programme ADA détecte la fin de la saisie de données ?


---------------
"Your god is too small", Giordano Bruno, 1548 - 1600
Reply

Marsh Posté le 27-08-2013 à 19:39:21    

roscocoltran a écrit :

Comment est-ce que ton programme ADA détecte la fin de la saisie de données ?


 
Ben y a pas de fin, c'est un get_line en loop for ever.

Reply

Marsh Posté le 27-08-2013 à 19:55:50    

mais c'est ton programme joshua qui reprend la main dans ce cas, le bash va pas lancer joshua puis l'arrêter de lui-même au hasard. C'est comme quand tu pousse des données de titre et de corps de message au programme "mail". Une fois que mail a fini son taff' il rend la main.
 
Tu ferais mieux de lancer joshua comme un démon qui va ouvrir une socket avec GNAT.Sockets et écouter. Moi j'irais par là.


---------------
"Your god is too small", Giordano Bruno, 1548 - 1600
Reply

Marsh Posté le 27-08-2013 à 20:11:54    


 
J'ai essayer plein de truc j'y arrive pas ça doit pas être la solution entière.

Reply

Marsh Posté le 27-08-2013 à 20:17:51    

roscocoltran a écrit :

mais c'est ton programme joshua qui reprend la main dans ce cas, le bash va pas lancer joshua puis l'arrêter de lui-même au hasard. C'est comme quand tu pousse des données de titre et de corps de message au programme "mail". Une fois que mail a fini son taff' il rend la main.
 
Tu ferais mieux de lancer joshua comme un démon qui va ouvrir une socket avec GNAT.Sockets et écouter. Moi j'irais par là.


 
 
 
Hum, je fais déjà ça en réseau.
 
Je vais essayer d'être explicite.
 
Lorsque je donne à Mon_Programme, avec un cat fichier.txt | Mon_programme contenu du fichier fichier.txt en donnée d'entrée de l'entrée standard de Mon_Programme ou avec un Mon_Programme < fichier.txt, je voudrais que Mon_programme lise l'entrée depuis l'entrée standard et non plus depuis fichier.txt à la fin du fichier.
 
Donc en fait c'est à bash de fermer le fichier lorsqu'il est terminé et de relire l'entrée standard.
 
Enfin, je le vois comme ça.

Reply

Marsh Posté le 02-09-2013 à 20:29:15    

Bon jour !
 
 
J'ai essayé plein de truc à base de <&- sans résultat.
 
Voilà je sèche encore. Doit y avoir un moyen c'est pas normal. S'il vous plaît. Mais vraiment s'il vous plaît vous fatiguez pas les doit si ça vous coûte.
 
Et Merci, merci bien si vous avez une soluce ou pour le dérangement.
 

Reply

Marsh Posté le 17-09-2013 à 07:05:57    

Bonjour jovalise,
la fonction xargs est ton ami ! un petit exemple  
http://www.linuxcertif.com/doc/keyword/xargs/

Reply

Marsh Posté le 18-09-2013 à 22:43:06    

krakator a écrit :

Bonjour jovalise,
la fonction xargs est ton ami ! un petit exemple  
http://www.linuxcertif.com/doc/keyword/xargs/


 
Faut tester moi je dis.
Parce que dans mon programme je fais une lecture des argument, si lorsque j'appelle xarg ça passe le fichier texte en argument c'est pas bon.
Mais je suis certain que c'est un problème de shell, en fin de fichier on doit pouvoir rediriger l'entrée courante sur stdin, et ce grace au shell.

Reply

Marsh Posté le 30-09-2013 à 21:48:34    

dernière lecture lire directement le buffer, un petit RTFM ;)  
riens de perso mais si tu es près/souhaites et lire alors!
http://www.faqs.org/docs/Linux-HOW [...] HOWTO.html  

Reply

Marsh Posté le 02-10-2013 à 15:05:47    

krakator a écrit :

dernière lecture lire directement le buffer, un petit RTFM ;)  
riens de perso mais si tu es près/souhaites et lire alors!
http://www.faqs.org/docs/Linux-HOW [...] HOWTO.html  


 
Merci je vais voir si je trouve mon bonheur.

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

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