Comment s'attendre à délai d'attente lorsque vous essayez de vous connecter à une session ssh il a engendré?

Je suis en train d'écrire un script bash qui utilise attendre pour se connecter à un tas de Cisco Asa (ils ne supportent pas de certificat de connexion, et donc, s'attendre), apporte une modification à la configuration et puis se déconnecte.

J'aimerais que le script pour passer à la prochaine ASA s'il est impossible de se connecter.

Voici le script:

#!/bin/bash
# Scriptname: set-mtu
for asa in $(cat asa-list-temp)
do
        /usr/bin/expect << EndExpect
                spawn ssh admin_15@$asa
                expect "assword:"
                send "pa$$w0rd\r"
                expect ">"
                send "do something\r"
                expect ">"
                send "exit\r"
EndExpect
done

Je pense que je peux définir un délai d'attente sur expect "assword:" mais je ne peux pas comprendre comment le faire fermer la donné naissance à la session ssh, puis passer à la prochaine AAS dans la liste.

  • Il vous manque un devis dans le premier attendre déclaration: est-ce vrai dans votre script? Le mieux attendre outil de débogage: ajouter exp_internal 1 avant spawn ...
  • Correction de l'erreur typographique - ne l'était pas dans le script, j'ai été en cours d'exécution.
InformationsquelleAutor dunxd | 2011-08-10