2013-04-29 56 views
0

我有一個可執行的二進制文件,當它運行時詢問共享該服務的共享密碼。我想通過使用shell腳本'expect'和'send'來自動完成密碼填充。我想知道究竟是什麼來填補預期。提示橫跨多條線。我應該填寫最後一行還是整個消息。如何在Linux中使用expect來填充密碼?

Shareserver or network failure -1: please enter keys locally. 
Recovering key, 1 share required. 
Please enter a share password: 

Currnetly我做

./My_binary_to_execute.tst 
expect "Please enter a share password:" 
send "share_pwd" 

我沒有收到密碼填,我再次提示。什麼是確切的語言?請不要擔心安全問題。密碼是共享的,並且組織也知道該密碼,並且二進制文件也不是關鍵密碼。

回答

0

你應該期待最後一行。 腳本無法正常工作的原因有很多。 也許是因爲你沒有你的密碼後發送回車:

send "share_pwd\r" 

或者你的二進制打開另一個殼,它預計不會看到。