1. 程式人生 > >Linux expect使用,使用者互動的福音

Linux expect使用,使用者互動的福音

經常遇到Linux需要使用者互動的操作,而且是大量的重複操作,所以。。。。
expect 解決你的問題

如下就是一個簡單的例子

寫個 login.sh

#!/usr/bin/expect
set timeout 100
set password "123"
spawn ssh uname@hostname
expect "*password:"
send "$password\n"
interact

解釋一下

#!/usr/bin/expect //這個是頭部
set timeout 100 //這個是超時
set password “123” //這個是設定password變數
spawn ssh

[email protected] // spawn xxxx xxxx為要執行的命令
expect “*password:” //如果出現這個表示式的返回
send “$password\n” //則傳送 password \n為回車
interact //允許互動,寫上就行了

另外,這個sh指令碼需要給執行x許可權(chmod +x),並使用 ./login.sh 來執行,如果使用
sh login.sh 的話,會提示 spawn: command not found 等一坨 not found