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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !