|
Bas de page | |
---|---|
Auteur | Sujet : [shell] Passer stdin à une commande passé au shell sur stdin |
Publicité | Posté le 02-06-2008 à 13:44:58 |
Elmoricq Modérateur | J'pige pas bien ce que tu essaies de faire en fait. |
matafan | C'est ce que je craignais Faudra que j'explique exactement ce que je fais. |
h4rold | Tu veux rester en bash ou le C ca te va ? |
Taz bisounours-codeur | xargs ? Message édité par Taz le 02-06-2008 à 16:57:57 |
matafan | En fait voilà : je fais un programme en C qui doit générer des lignes de commandes à partir de règles qui se trouvent dans un fichier xml, et les faire exécuter au shell. Pour ce faire j'ai décidé de passer la ligne de commande sur l'entrée standard du shell, parce que c'est la solution la plus robuste. Les autres solutions envisageables, mais moins bonnes, sont :
|
Taz bisounours-codeur | OK mais bon comme tu dis, vu que la solution choisie est bidon, c'est forcément bancale ensuite. Question à 1000PO: t'as vraiment besoin de passer toutes tes commandes dans un shell et dans le même ? |
matafan | Non, chaque ligne de commande est exécutée dans un nouveau shell. |
Taz bisounours-codeur | bah alors tu t'en fous du shell, il sert à rien, exécute directement la commande. |
h4rold |
|
Publicité | Posté le 03-06-2008 à 10:16:23 |
Taz bisounours-codeur |
h4rold |
|
Taz bisounours-codeur | bah l'environnement s'hérite, les modifications ne se propagent pas de fils en père. |
matafan | J'ai besoin d'exécuter un shell car mes lignes de commandes sont des expressions shells. Elles peuvent contenir des redirections, des constructions complexes... Que je ne peux pas interpréter moi même. Donc il faut que je les fasse exécuter par un shell. |
matafan | Ah ah magnifique, j'ai une solution assez intéressante
Message édité par matafan le 03-06-2008 à 11:43:53 |
gilou ModérateurModzilla | J'allais justement te proposer une solution de ce type.
Message édité par gilou le 03-06-2008 à 11:42:17 --------------- There's more than what can be linked! -- Iyashikei Anime Forever! -- AngularJS c'est un framework d'engulé! -- |
matafan | Oui mais bon utiliser un numéro de fd hardcodé (42) c'est pas super. |
Taz bisounours-codeur | Pourquoi les fichiers temporaires c'est pas génial au fait ? |
matafan | Les fichiers temporaires c'est pas super niveau perf je pense. Mon truc doit exécuter des tas de commandes en raffale. La sécurité c'est pas forcément génial non plus, quoi qu'avec mktemp et des droits très restrictifs ça doit passer.
Message édité par matafan le 03-06-2008 à 13:16:40 |
Taz bisounours-codeur | le problème c'est que tu squatte un descripteur.
|
matafan | Mon code c'est un programme de test pour valider l'idée, il vérifie déjà bien trop de choses |
Taz bisounours-codeur | snprintf met le 0 final toute seule. |
matafan | Ah oui tient, j'ai confondu avec strncpy. |
Publicité | Posté le |
Sujets relatifs | |
---|---|
problème avec la commande cut | passer de mac à windows |
Encodé un mot de passe | commande unix pour tester 2 valeurs |
[RESOLU] problème script et commande awk | Passer un objet Array à une fonction JS |
Emulateur mini-shell | Programme C serie de commande |
COMMANDE DOS | Trouver mot de passe |
Plus de sujets relatifs à : [shell] Passer stdin à une commande passé au shell sur stdin |