redirection de l'entée standard vers mon programme - Codes et scripts - Linux et OS Alternatifs
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 ?
Marsh Posté le 21-08-2013 à 13:46:59
Salut,
/bin/Joshua < text.txt |
ou
/bin/Joshua <<<"Texte à répéter." |
Marsh Posté le 21-08-2013 à 17:32:14
zipe31 a écrit : Salut,
|
C'est nickel. J'avais essayé< "Texte à répéter" sans succès, je me disais ça y est je suis sur Mars.
Merci, désolé, mais y avais un truc. <<< je connaissais pas.
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.
Merci.
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...
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 :
|
Mon programme est écrit avec Ada, alors, je crois pas que ça ai ça place ici.
Marsh Posté le 23-08-2013 à 18:20:32
Moi je veux pas tremper là-dedans hein!
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 & |
Marsh Posté le 23-08-2013 à 19:18:23
zipe31 a écrit :
|
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.
S'il vous plaît.
Marsh Posté le 27-08-2013 à 15:42:40
ReplyMarsh 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
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" ?
Marsh Posté le 27-08-2013 à 19:19:46
la même ici. http://fr.wikipedia.org/wiki/Here_Document
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 ?
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.
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à.
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.
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. |
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.
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.
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/
Marsh Posté le 18-09-2013 à 22:43:06
krakator a écrit : Bonjour jovalise, |
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.
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
Marsh Posté le 02-10-2013 à 15:05:47
krakator a écrit : dernière lecture lire directement le buffer, un petit RTFM |
Merci je vais voir si je trouve mon bonheur.
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.