Gérer plusieurs énoncé dans le script expect
Je suis nouveau dans attendre de script.
J'ai écrit un script expect pour ssh à une machine linux,où je suis face à problème dans sshing sur différentes machines.Ci-dessous, j'ai copié le script.
!/usr/local/bin/expect
set LinuxMachine [lindex $argv 0]
spawn ssh root@$LinuxMachine
expect "root@$LinuxMachine's password:"
send "root123\n"
expect "[root@Client_FC12_172_85 ~]#"
send "ls"
interact
Quand je approvisionnement 10.213.172.85
à partir de la ligne de commande de l'attendre dans la ligne 4 , il se lit comme "[email protected]'s password:
" et les connexions avec succès
Mais certains linux attendez-
The authenticity of host '10.213.172.108 (10.213.172.108)' can't be established.
RSA key fingerprint is da:d0:a0:e1:d8:7a:23:8b:c7:d8:40:8c:b2:b2:9b:95.
Are you sure you want to continue connecting (yes/no)
Dans ce cas, le script ne fonctionnera pas.
S'il vous plaît laissez-moi savoir comment je peux avoir deux s'attendre à des déclarations attendre de commande.
Merci d'Avance!!!
OriginalL'auteur user3115222 | 2013-12-18
Vous devez vous connecter pour publier un commentaire.
Vous pouvez utiliser exp_continue dans un tel cas:
Ci-dessus, le fait de s'attendre bloc attend pour la question oui/non, OU de l'invite de mot de passe. Si ce dernier, il se déplace en fournissant un mot de passe, s'attendant à l'invite, l'envoi de commande ls et de donner le contrôle de retour. Dans le premier cas, il répondra " oui " et répétez le fait de s'attendre à bloc, prêt à trouver l'invite de mot de passe (ou même de la question oui/non, encore une fois, pour cette question - non pas que vous en aurez besoin).
Je voudrais également inclure certains délais d'attente avec des messages significatifs dans le cas où certains attendent l'option ne correspond pas comme prévu, mais le ci-dessus devrait fonctionner.
Comme un commentaire, vous ne souhaitez pas définir de mot de passe root dans un script... je recommande d'utiliser l'authentification par clé ssh.
Permettez-moi de savoir comment il va.
OriginalL'auteur James
Nous aimons l'appeler "long" ouverture d'une session, il y a ssh options qui ne vérifie pas les clés d'hôte:
Partie du script bash qui appelle sur le fait de s'attendre définit le mot de passe:
OriginalL'auteur Justin