0
我正在編寫我的第一個expect腳本來運行gvfs-mount。我希望期望的腳本回答「密碼:」的提示,讓我輸入密碼,然後切換回非交互模式完成。如何獲得「期望」切入和切出交互模式?
我希望由我來修改autoexpect產生稍微人格化這個腳本:
#!/usr/bin/expect -f
set timeout -1
spawn gvfs-mount {smb://[email protected]/my-userid$}
match_max 100000
expect -exact "Password required for share my-userid\$ on 10.253.x.y\r\nDomain \[WORKGROUP\]: "
send -- "my-domain\r"
expect -exact "my-domain\r\nPassword: "
send -- "my-password\r"
expect eof
只是改變-exact第二發送到-i把整個腳本到一個狀態,其中它等待我輸入域但不讀取鍵盤或「發送」。我推測這與在後臺進程中產生的gvfs-mount沒有綁定到前臺stdin有關。
那麼如何切換一些「期望」的交互性?
謝謝。
你可能想讓'stty -echo'在讓用戶輸入密碼(然後當然'stty echo'之後) – 2012-03-29 13:43:13
@glennjackman很好的捕獲。謝謝 – resmon6 2012-03-29 13:53:49