Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1502 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  remplir des saisies clavier automatiquement ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

remplir des saisies clavier automatiquement ?

n°1314016
damcmoi
Posté le 27-02-2006 à 09:07:17  profilanswer
 

Salut, en fait je voudrais automatiser des entrées clavier lorsque je lance de nombreuses fois un binaire qui les demande :
 

  • Exemple théorique :

Est il possible de faire qq chose dans le genre :
j'ai un script ou un binaire qui demande des entrées clavier du genre 3 yes/no d'affilée.  
Comme je lance le script souvent je voudrai faire un fichier qui contient par exemple  
no
yes
no
et le mettre en "injection" dans la commande avec un appel comme ceci :  
$commande < fichier_entrees_clavier
question1 : no
question2 : yes
question3 : no
done :)
 

  • Exemple concret :

je suis amené à établir une connexion ssh sur une centaine de postes afin d'établir les authorized_keys et known_hosts pour la première fois. Donc j'aimerai le faire via une boucle et ne pas rentrer les mots de passe à la main...
y a t il moyen de faire un truc sur le même modèle que précédemment :  
$ssh damcmoi@mon_ordi < fichier_passwd
?
 
Merci et bonne journée.
 

mood
Publicité
Posté le 27-02-2006 à 09:07:17  profilanswer
 

n°1314135
damcmoi
Posté le 27-02-2006 à 11:07:37  profilanswer
 

ya ptèt un moyen avec expect. Qq'un connait? Je cherche :)...

n°1314246
Sve@r
Posté le 27-02-2006 à 13:00:16  profilanswer
 

damcmoi a écrit :

Salut, en fait je voudrais automatiser des entrées clavier lorsque je lance de nombreuses fois un binaire qui les demande :
 

  • Exemple théorique :

Est il possible de faire qq chose dans le genre :
j'ai un script ou un binaire qui demande des entrées clavier du genre 3 yes/no d'affilée.  
Comme je lance le script souvent je voudrai faire un fichier qui contient par exemple  
no
yes
no
et le mettre en "injection" dans la commande avec un appel comme ceci :  
$commande < fichier_entrees_clavier
question1 : no
question2 : yes
question3 : no
done :)
 

  • Exemple concret :

je suis amené à établir une connexion ssh sur une centaine de postes afin d'établir les authorized_keys et known_hosts pour la première fois. Donc j'aimerai le faire via une boucle et ne pas rentrer les mots de passe à la main...
y a t il moyen de faire un truc sur le même modèle que précédemment :  
$ssh damcmoi@mon_ordi < fichier_passwd
?
 
Merci et bonne journée.


 
Je présume que tu es sous Unix puisques tu parles de ssh...
2 solutions :

  • 1) tu crées un fichier "fic" ne contenant que les réponses, une réponse par ligne, puis tu lances

commande <fic


 

  • 2) tu lances la commande avec la double redirection entrante suivie d'un token de ton choix. Tout ce qui sera entre la commande et le token sera interprété comme réponse attendue. ex:

commande << _EOT_
yes
no
yes
no
no
yes
_EOT_
...suite du script...


Message édité par Sve@r le 27-02-2006 à 13:02:15

---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1314733
payes
Posté le 27-02-2006 à 19:30:54  profilanswer
 

et sur windows , ca marcherais comment ? :)
mais j ai pas tres bien compris , serait ce la meme commande que si je demandais a mon .bat de lancer le blok note et d ecrire a l ecran par exemple la phrase "salut comment ca va ?" ?  
si ca l est , et si kkun voulais bien me dire qu elle est la commande , je serai ravi ! :)
merci d avance et j esper que tu a trouver damcmoi ;)

n°1314856
Sve@r
Posté le 27-02-2006 à 22:00:05  profilanswer
 

payes a écrit :

et sur windows , ca marcherais comment ? :)


J'en sais rien, je ne vois pas de quoi tu parles. Win... dows ? fenêtre ??? kekckeça ? Connais que Unix/Linux moi...

payes a écrit :

mais j ai pas tres bien compris , serait ce la meme commande que si je demandais a mon .bat de lancer le blok note et d ecrire a l ecran par exemple la phrase "salut comment ca va ?" ?


notepad.exe
echo Salut comment ça va ?



---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1314956
matafan
Posté le 28-02-2006 à 00:01:59  profilanswer
 

Le coup du < ne marchera pas pour les mots de passe. La meilleur solution est effectivement d'utiliser expect.

n°1315038
damcmoi
Posté le 28-02-2006 à 09:38:24  profilanswer
 

merci bcp pour la réponse Sve@r :)
Je suis effectivement sous Linux et interessé par les 2 cas de figure : avec et sans mot de passe.
J'ai trouvé un truc pour expect mais j'aimerais juste avoir une précision si vous savez :
dans l'exemple suivant :

#!/usr/bin/expect -f
 
spawn ssh -l mon_identifiant mon_hote_distant
expect {
    -re mon_invite_mot_de_passe {
      send mon_mot_de_passe\r
      expect {
        -re mon_invite {
          send "ma_commande et ses arguments\r"
          sleep 1
        }
      }
    }
}


ce qui est après "-re" est la question à laquelle je dois répondre? donc par exemple : "Password :" pour le premier -re?  
 
D'autre part, j'ai trouvé autoexpect, mais je ne comprends pas à quoi ça sert : en effet : on le lance et ensuite toutes les commandes que l'on tape sont entrées dans un fichier automatiquement créé qu'on pourra relancer si on veut (d'ailleurs je n'ai pas réussi à le faire marcher avec les mots de passe). Quelle peut bien être la différence avec un script shell où n'entrerait qu'une suite de commandes?
 
merci les gars :)


Message édité par damcmoi le 28-02-2006 à 09:47:07

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  remplir des saisies clavier automatiquement ?

 

Sujets relatifs
Remplir ComboBox a partir dune Base de Données (WinForms)Excel ajouter une nouvelle ligne automatiquement
[ACCESS - VBA] - Remplir une table avec un formulaire VBAgénérer automatiquement un répertoire
total en live des saisies dans une feuilleutilisation fleche du clavier
remplir in combobox avec des données d'excelclavier: autorepeat, xlib, ioctl
Programme qui simule les touches d'un clavier[C#] Lancer une gravure lightscribe automatiquement !!!
Plus de sujets relatifs à : remplir des saisies clavier automatiquement ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR