expect是一个基于Tcl的用于自动交互操作的工具语言,它适合用来编写需要交互的自动化脚本,比如上面提到的SSH输入用户名密码,自动FTP等等场景。
Shell script代码 收藏代码
#!/usr/bin/expect -f
set port port_no
set user user_name
set host host_name
set password my_password
set timeout -1
spawn ssh -D $port $user@$host
expect “*assword:*”
send “$password\r”
expect eof
代码说明:
set:设置变量,如set port port_no
expect:期望收到的字符串,如expect “*assword:*”,期望出现”password:”才进入下一步
spawn:启动新进程
send:发送字符串,与expect相对