[Expect] mettre un timeout infini à un moment spécifique d’un script
Salut tout le monde !
J’ai programmé un script Except qui effectue 2 connexions ssh successives sur des ordinateurs puis une connexion picocom sur un système embarqué.
Voici de quoi a l’air le script en gros :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #!/usr/bin/expect
set timeout 3
spawn ./code_pour_se_connecter_au_1er_ordinateur.sh
expect "LOG SPÉCIFIQUE AU 1ER ORDINATEUR"
send -- "ssh ADRESSE_DU_2ÈME_ORDINATEUR"
expect "enter password"
send -- "MOT_DE_PASSE"
send -- "picocom SYSTÈME_EMBARQUÉ"
expect "enter password"
send -- "MOT_DE_PASSE" |
Mon problème est qu’une fois que je suis connecté au système embarqué, le timeout du script s’arrête et je suis totalement déconnecté et ramené à la case départ.
Est-ce que quelqu’un ici connaîtrait un moyen de me faire rester sur le système embarqué ? en mettant une sorte de boucle infinie par exemple.
Une bonne solution serait de mettre le timeout à -1 pour que le timeout soit infini. Sauf que malheureusement, comme je ne sais pas très bien coder avec Except mon script actuel s’arrête à la ligne send -- "picocom EMBEDDED_SYSTEM" car il attend probablement quelque chose mais je ne sais pas quoi…
Quelqu’un aurait une solution ?
Merci d’avance !