Envoyer "entree" a un script appelle depuis un autre script... - Codes et scripts - Linux et OS Alternatifs
Marsh Posté le 19-05-2004 à 07:37:14
En fait j ai quelques precisions a apporter : ce serait cool que l'utilisateur puisse voir l'affichage de script2 (en cas de plantage).
Autre chose : j ai une piste pour l instant avec expect mais bon je me galere bien avec ce petit language a lui tout seul ! Toute autre idee (ou ebauche de solution) est toujours la bienvenue !
++
ZedroS
Marsh Posté le 19-05-2004 à 08:35:04
tu as essayé une bidouille horrible du style
echo '\n' | script1
?
c'est moche mais j'ai deja vu ca une fois
Marsh Posté le 19-05-2004 à 08:46:11
Trop fort !
Ca marche !!!!!
Merci philou_a7
Fini de me galerer avec Expect
Marsh Posté le 19-05-2004 à 08:59:53
Ceci dit pour le script suivant que j ai a traiter ainsi ca a po l air de marcher top (il a besoin de "entree" puis d'un simple 'q').
Je regarde plus en profondeur !
Marsh Posté le 19-05-2004 à 09:35:55
Bon, je me fais mon thread a moi tout seul mais bon, histoire de koi
Finalement je fais ca :
Dans mon "script1" je mets :
script2 < ligne
ligne etant un autre fichier contenant :
"
q"
J aimerai bien reussir a tout passer directement dans une seule ligne genre : script2 < "\nq" mais pour le moment sans succes...
M'enfin, le mieux est l ennemi du bien !
Marsh Posté le 19-05-2004 à 09:42:37
j'aurais cru que \nq fonctionnerait... pas grave
echo "\n" > temp
echo "q" >> temp
scrtip < temp
Marsh Posté le 19-05-2004 à 11:20:15
tant que ca marche...
Le probleme est qu'il doit utiliser en non-interactif un script créé pour de l'interactif, et qu'il ne peux pas modifier celui-ci... donc y a forcement que du gruik
Marsh Posté le 20-05-2004 à 01:53:24
Encore merci !
En effet, philou_a7, ton dernier truc marche en effet Tu peux juste me redetailler le fonctionnement du >> ? Il me semble que c'est un truc qui decale la chaine cible mais je ne suis plus 100% au point (et trouver de la doc sur google pour un ">>" pas facile facile... page blanche).
Quand a MacG, en effet c'est gruuuuuiiiiiiiik mais si tu as plus propre (tout en restant simple si possible) je suis preneur Alors ? lol
Marsh Posté le 20-05-2004 à 02:10:55
En fait apres verification seul le fichier passe en entree (< ) du second script fonctionne correctement.
Avec les echo > temp et >> temp ca ne tourne pas : ca "sort" bien du script mais le "q" passe n'est en fait pas pris en compte. M'enfin c'est pas grave, je vais generer le fichier a passer depuis mon script puis le supprimer de suite
Marsh Posté le 20-05-2004 à 08:44:00
ZedroS a écrit : Encore merci ! |
en C/C++ (et autres langages) les operateurs >> et << sont des decalages de bits
en shell, ce sont des operateurs de redirection comme > et < :
commande > fichier crée le fichier avec la sortie de commande en l'ecrasant si existant
commande >> fichier ajoute la sortie de commande a la fin de fichier
Marsh Posté le 27-05-2004 à 09:12:23
philou_a7 a écrit : tu as essayé une bidouille horrible du style |
le fait est que echo '\n' ne fait rien du tout
par défaut, echo fait un retour à la ligne et n'interprète pas les caractère d'échappement -> \n est affiché
la solution serait alors echo -ne '\n' pour interprété le caractère et ne pas faire de retour à la ligne automatique
Marsh Posté le 27-05-2004 à 09:47:41
philou_a7 a écrit : j'aurais cru que \nq fonctionnerait... pas grave |
on peut aussi faire :
script << EOF
\n
q
EOF
Marsh Posté le 27-05-2004 à 10:02:00
Euh... Je me suis sans doute mal exprime, mais les solutions de philou_a7 marchent tres bien et je m'en suis arrete la.
Ceci dit, c'est toujours instructif, c'etait juste pour vous dire de pas forcement vous casser la tete sur un probleme deja resolu de facon "satisfaisante" (au moins a mon gout :$)..
Encore merci !
ps : mon autre post par contre n'est pas encore solutionne ^^... Enfin, j'dis ca, mais j'dis rien
Marsh Posté le 19-05-2004 à 06:18:54
Salut tous !
Je suis actuellement en train de faire un script (appellons le script1) et dans ce script j'en appelle un autre, appellons le script2.
Il se trouve que script2 requiert que l'utilisateur tape sur entree a la fin de son execution.
Or mon script1 doit etre sans intervention de l'utilisateur, et je ne peux pas modifier le script2.
Aussi, je cherche comment faire de facon simple pour envoyer a script2 depuis script1 la frappe clavier "enter". Je fais un script sous shell et sous debian Sarge.
Merci d'avance !
ZedroS
Message édité par zedros le 19-05-2004 à 07:34:46