たとえば、prompt1、prompt2、prompt3 の 3 つのプロンプトを持つ test.sh 用の Expect スクリプトを作成しようとしているとします。
私のコードは次のようなものです:
spawn test.sh
expect "prompt1"
send "pass1"
expect "prompt2"
send "pass2"
expect "prompt3"
send "pass3"
ただし、prompt2 は半分の時間しか発生しません。prompt2 が表示されない場合、expect スクリプトが壊れます。表示されない場合、prompt2 をスキップするコードをどのように記述すればよいでしょうか?
編集:
私のコードを修正しました:
/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
'
このようにして、残りのスクリプトが実行され、出力が提供されます。