假設我正在爲一個test.sh編寫一個期望腳本,該腳本有三個提示:prompt1,prompt2,prompt3。如何使用期望與可選的提示?
我的代碼是這樣的:
spawn test.sh
expect "prompt1"
send "pass1"
expect "prompt2"
send "pass2"
expect "prompt3"
send "pass3"
然而,PROMPT2只出現一半的時間。如果prompt2不顯示,則期望腳本會中斷。如果期望代碼跳過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
'
這樣,腳本的其餘部分執行,並提供輸出。
您需要'expect'另一種模式,能夠打出來的循環。否則,你將永遠無法進入「互動」行。 –