spawn_id: spawn id exp6 pas ouvrir
Je sais que cette question a déjà été mentionné ici, mais la solution ne fonctionne pas pour moi.
J'ai ce script (appelons le myscript.sh) qui génère un processus à distance de l'environnement et qui doit interagir avec elle.
#!/usr/bin/expect
log_user 0
set timeout 10
spawn ssh -o PubkeyAuthentication=no [lindex $argv 0] -n [lindex $argv 1]
expect "password:" {send "mypassword\r"}
expect "Continue to run (y/n)" {send "n\r"}
interact
Quand j'ai appeler ce script sur l'environnement local...
myscript.sh user@host "command1;./command2 parameter1 parameter2"
J'obtiens l'erreur ci-dessus à la ligne 7 (interagir)
Des idées??
Vous êtes de passage de la commande à distance comme un argument de ssh, de sorte que la session ssh prendra fin lorsque la commande à distance complète. Il n'y aura rien d'interagir avec.
Oui, mais que la commande à distance ne devraient pas fin avant l'entrée sur "Continuer (o/n)". Après le passage de "y\r", il devrait fonctionner pendant environ 2 minutes... ne devrait pas interagir commande avant la commande à distance de la sortie de mon stdout jusqu'à la fin de l'exécution?
Êtes-vous bien vous êtes arriver à l' [interagir] en bonne forme, et pas seulement à la synchronisation? Savez-vous comment déboguer s'Attendre à des dialogues?
1. Démarrer avec wiki.tcl.tk/3173; 2. assurez-vous que vous avez résolu Glenn observation. Plus de détails, plus tard dans la journée.
exp_internal 1 ;# vous serez en mesure de voir ce qui est à venir à partir du processus générés dynamiquement. Également avoir log_user 0 tout en essayant de débogage est... contre-productif.
Oui, mais que la commande à distance ne devraient pas fin avant l'entrée sur "Continuer (o/n)". Après le passage de "y\r", il devrait fonctionner pendant environ 2 minutes... ne devrait pas interagir commande avant la commande à distance de la sortie de mon stdout jusqu'à la fin de l'exécution?
Êtes-vous bien vous êtes arriver à l' [interagir] en bonne forme, et pas seulement à la synchronisation? Savez-vous comment déboguer s'Attendre à des dialogues?
1. Démarrer avec wiki.tcl.tk/3173; 2. assurez-vous que vous avez résolu Glenn observation. Plus de détails, plus tard dans la journée.
exp_internal 1 ;# vous serez en mesure de voir ce qui est à venir à partir du processus générés dynamiquement. Également avoir log_user 0 tout en essayant de débogage est... contre-productif.
OriginalL'auteur Eedoh | 2011-09-20
Vous devez vous connecter pour publier un commentaire.
Je soupçonne le fait de s'attendre n'est pas en mesure de trouver(matching) le modèle que vous envoyez.
Vérifier à nouveau si le "mot de passe:" et de "Continuer (o/n)" dans la bonne CASQUETTES.
Si toujours le même message d'erreur, vous pouvez essayer d'utiliser l'expression régulière.
OriginalL'auteur sankar guda
Essayer de faire une activité normale ssh sans script. Voir si cela fonctionne. Parfois l'hôte distant identification des changements, et l'hôte a une nouvelle adresse ip ou une nouvelle clé. Alors il aide à éliminer l'ancienne clé avec
ssh-keygen -f ~/.ssh/known_hosts -R old_host
, ou quelque chose de similaire.OriginalL'auteur 0x4a6f4672
J'ai eu ce problème et il a été d'utiliser le mauvais port.
OriginalL'auteur lina
Je suis tombé sur cette émission, mais c'était à moi de la création/modification de fichiers suivants pour un autre élément:
Une fois que j'ai supprimé que, tous mes scripts a commencé à travailler et je n'ai plus eu ce problème avec ma attendre de fichier.
OriginalL'auteur kuroikenshi