expect一些基本的用法,写一个简短的交互式ssh登录脚本。
#!/usr/bin/expect -f
set host [lindex $argv 0]
set port [lindex $argv 1]
set pass "password"
set timeout 5
spawn ssh -p$port zw@$host
# 没有认证指纹,则同意连接。
# 已经认证了指纹,直接输入密码登录。
expect {
"Are you sure you want to continue connecting (yes/no*" { send "yes\r" }
"*password" { send "$pass\r" }
eof {
exit 1
}
}
# 如果之前已经认证了指纹,这一步需要等待 timeout 秒后超时。
expect {
"*password" { send "$pass\r" }
eof {
exit 1
}
}
# 给出控制终端
interact
# 结束
expect eof
发表回复