2016-05-28 1 views
0

J'ai total de 6 adresses IP et des 6 seulement 2 adresses IP sont valides. J'ai écrit un script shell pour utiliser sshpass pour tester chaque adresse IP.sortie sshpass dans l'automatisation

La question est quand le script atteint IP qui fonctionne, il est dans le journal système (commutateur Cisco) et reste là et ne pas continuer avec la boucle pour tester les adresses IP restantes. Si je tape "exit" sur le système, cela continue avec la boucle.

Après une connexion réussie comment script peut obtenir automatiquement, du système connecté, et continuer avec les tests restants IP?

/usr/bin/sshpass -p $ PasseAdmin ssh -oStrictHostKeyChecking = pas -oCheckHostIP = pas $ t @ $ ADMINLOGIN sortie IP

je peux utiliser l'état de sortie pour savoir quel IP travaillé et qui, n'a pas fonctionné.

Répondre

1

Testez d'abord si IP est vivant, puis « ssh » sur elle, pourrait aider you.I ne sais pas si vous utilisez une boucle ou non, mais la boucle peut être un bon choice.Should ressembler à: pour f dans ip-1 ip-2 ip-3 ip-4 ip-5 ip-6; fais ping -c 1 -w 3 $ f; si [$? -eq 0]; puis écho OK; ssh_pass $ f votre_commande; sinon, echo "IP is NOK"; Fi; done Vous pouvez également ajouter la commande 'exit', en fonction de ce que vous testez: 'exit 0' si c'est OK, après la commande 'ssh', 'exit 1' si NOK.