有时候我们使用命令行进行交互时,不想频繁的做一些重复的事情,例如:每次ssh远程登录时都需要输入密码。使用spawn和expect可以自动完成一些交互。
一个自动输入密码的简单脚本
#!/usr/bin/expect
set login_name "user name"
set login_host "host's ip"
set password "guess what"
spawn ssh $login_name@$login_host
expect {
"(yes/no)" { send "yes\r"; exp_continue }
"password:" { send "$password\r" }
}
#expect $login_name@* {send "ls\r" } ;
interact