Script EXPECT boucle foreach

Fermé
Gotwol Messages postés 5 Date d'inscription mardi 25 novembre 2014 Statut Membre Dernière intervention 31 juillet 2015 - Modifié par Gotwol le 31/07/2015 à 09:24
nerdzlol Messages postés 6 Date d'inscription lundi 24 août 2015 Statut Membre Dernière intervention 27 août 2015 - 25 août 2015 à 17:46
Bonjour, je vous présente mon script :



Le but de celui-ci est de s'authentifier sur des équipements selon une liste lue ligne par ligne et de tester le mot de passe ENABLE des équipements (CISCO).

Le script en lui-même est fonctionnel, seulement je pense que ma boucle présente un problème car le script ne s'arrête pas au dernier équipement mais uniquement lorsqu'il a une erreur, donc il s'arrête à la dernière ligne vide du .txt
Il tente un dernier spawn telnet "tout court" et comme ça ne marche pas, j'ai un retour d'erreur et il s'arrête. Ce n'est pas très grave en soi mais ce n'est pas propre.

Quelqu'un a une idée d'instruction pour qu'il ne lise pas une ligne vide ?

Merci par avance.

3 réponses

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
31 juil. 2015 à 09:51
Salut,
Quelqu'un a une idée d'instruction pour qu'il ne lise pas une ligne vide ?
Euh... la supprimer ?
0
Gotwol Messages postés 5 Date d'inscription mardi 25 novembre 2014 Statut Membre Dernière intervention 31 juillet 2015
31 juil. 2015 à 10:22
La ligne est vide. En gros sous vi le .txt donne :

sw-xxx-xxx
sw-yyy-yyy
~

Il lit également la dernière ligne. il ne s'arrête pas après sw-yyy-yyy.
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
Modifié par zipe31 le 31/07/2015 à 11:17
Comme dit plus haut, il suffit de supprimer cette dernière ligne vide :
> cat -A fich 
a$
b$
c$
$
> sed '$d' fich | cat -A
a$
b$
c$
>


Edit :

> sed '${/^$/d}' fich | cat -A
a$
b$
c$
>
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021
31 juil. 2015 à 10:58
Oups, petite erreur sur la commande sed ;-(

À remplacer par
sed '${/^$/d}' fich
;-)
0
nerdzlol Messages postés 6 Date d'inscription lundi 24 août 2015 Statut Membre Dernière intervention 27 août 2015
25 août 2015 à 17:46
les infos username et password en dur dans un script?

y'en as qui ont pas peur :)
0