attendre + comment identifier si attendre pause, car le temps?

La cible de simples attendre script est d'obtenir le nom d'hôte nom sur la machine distante

Parfois attendre script ne parviennent pas à effectuer ssh $ADRESSE_IP ( parce que la machine distante n'est pas active , etc )

donc dans ce cas, le script expect va casser au bout de 10 secondes (délai d'attente de 10) , c'est OK mais......

Il y a deux options

  1. Script expect effectuer ssh avec succès , et a exécuté la commande hostname sur la machine distante
  2. Script expect pause, car délai d'attente est de 10 secondes

Sur les deux cas s'attendre à une sortie de

  • en cas de ssh réussi à s'évader après 0,5 à 1 seconde, mais en cas de mauvais ssh puis il va se casser au bout de 10 secondes

mais je ne sais pas s'attendre à de script exécuter ssh avec succès ou pas?

est-il possible d'identifier les processus de délai d'attente ? ou pour vérifier que s'attendre à pris fin en raison de délai d'attente?

Remarque de ma machine Linux version - red-hat 5.1

Script expect

 [TestLinux]# get_host_name_on_remote_machine=`cat << EOF
  > set timeout 10
  > spawn  ssh   $IP_ADDRESS
  >            expect {
  >                      ")?"   { send "yes\r"  ; exp_continue  }
  > 
  >                      word:  {send $PASS\r}
  >                   }
  > expect >  {send "hostname\r"}
  > expect >    {send exit\r}
  > expect eof
  > EOF`

Exemple dans le cas où nous n'avons pas de connexion à l'hôte distant

 [TestLinux]# expect -c  "$get_host_name_on_remote_machine"
 spawn ssh 10.17.180.23
 [TestLinux]# echo $?
 0

OriginalL'auteur | 2012-03-11