Uninote
Uninote

简介

Expect是一个控制交互式程序的工具,用交互式方式实现非交互式功能。

用法案例1:向远程主机中添加known_hosts信息

实现步骤:

  1. 安装expect工具: yum -y install expect
  2. 编写expect脚本(命名:FILENAME.exp,如:addknownhost.exp):
#!/usr/bin/expect
#判断用户输入的变量个数,若不等于1,则退出该expect脚本
if { $argc != 1 } {
  send_user "usage:expect addkownhost.exp  host\n"
  exit
}
#设置交互式超时时间,本文是在输入yes之后,提示输入password的时候结束expect交互
set timeout 1
#设置host变量为命令行输入的第一个变量
set host [lindex $argv 0]
#运行shell命令
spawn ssh $host
#检测执行命令中有输出"(yes/no)"字符串的时候,输入yes\r
expect "(yes/no)?" {send "yes\r"};
#交互式结束标志语句
expect eof
#退出expect执行的命令
exit -onexit {
#向终端发送expect timeout! quit.的提示信息
send_user "\nexpect timeout! quit.\n"
}
  1. 运行expect脚本 expect addknownhost.exp 127.0.0.1
  2. 执行结果查看

根据城市限制ssh连接

vpn

点赞(0) 阅读(1) 举报
目录
标题