Comment utiliser avec des invites facultatives?

Disons que j’essaie d’écrire un script attendu pour un test.sh qui comporte trois invites: prompt1, prompt2, prompt3.

Mon code est comme ceci:

spawn test.sh expect "prompt1" send "pass1" expect "prompt2" send "pass2" expect "prompt3" send "pass3" 

Cependant, prompt2 ne se produit que la moitié du temps. Si prompt2 ne s’affiche pas, le script attend est interrompu. Comment est-ce que j’écrirais le code qui saute sur l’invite2 s’il ne s’affiche pas?

MODIFIER:

Correction de mon code:

 /usr/bin/expect -c ' spawn ./test.sh expect { "prompt1" { send "pass1\r" exp_continue } "prompt2" { send "pass2\r" exp_continue } "prompt3" { send "pass3\r" exp_continue } } interact return 

De cette façon, le rest du script s’exécute et fournit une sortie.

Vous pouvez vous attendre à plusieurs choses:

 expect { "prompt2" { send "pass2" expect "prompt3" send "pass3" } "prompt3" { send "pass3" } }