expect实现交互式脚本】的更多相关文章

#!/usr/bin/expect -f ##告诉解释器用expect来解释 set timeout 6 ##设置超时时间 ] ## 这个是传递给脚本的第一个参数,并把参数赋值给user ] ## 这个是传递给脚本的第二个参数,依次类推 ] spawn ssh $user@$ip ##spawn的意思是执行这个命令 expect { ##expect是指期待获得什么值,如果多行,请用'{' "yes" { send "yes\r" ##如果是得到的字符串中有yes的…
自动交互式脚本--expect https://www.cnblogs.com/zhuiluoyu/p/4873869.html 我们经常会遇到一些需要与服务器程序打交道的场景,比如,从登陆某个服务器,然后进行某项工作.这很平常,但是如果把这个工作自动化进行,你就需要一个程序能自动做你要告诉机器的事情,这样,我们的expect就能大显身手了. 首先,expect是一个简单的工具语言,如要工作就是进行自动化的人机交互.它的作者对Expect的定义:是一个实现自动交互功能的软件套件(a softwa…
我们经常会遇到一些需要与服务器程序打交道的场景,比如,从登陆某个服务器,然后进行某项工作.这很平常,但是如果把这个工作自动化进行,你就需要一个程序能自动做你要告诉机器的事情,这样,我们的expect就能大显身手了. 首先,expect是一个简单的工具语言,如要工作就是进行自动化的人机交互.它的作者对Expect的定义:是一个实现自动交互功能的软件套件(a software suite for automating interactive tools),使用expect,它能帮助我们在合适的情景下…
shell脚本分为三类:登录脚本.交互式脚本.非交互式脚本 一. 登录脚本类似于windows下的计算机设置中的登录脚本和账户设置下的登录脚本的合集(我是这么理解的哈). 其配置文件的关键词为prefile,它有以下几个关键配置文件: /etc/prefile 这个是计算机脚本; [$home/.prefile ; $home/.bash_prefile ; $home/.bash_login]这三个是账户脚本,根据不同发行版名字不同(坑爹的linux) ; 说明:/etc/prefile之所以…
centos shell编程4[分发系统] 服务器标准化  mkpasswd 生成密码的工具  expect讲解   expect传递参数   expect自动同步文件  expect指定host和要同步的文件   expect文件分发系统  expect自动发送密钥脚本  Linux脚本执行方式  第三十八节课 expect:TCL语言非常经典的扩展部分,实现程序的自动交互 服务器标准化:所有程序的路径,所有用户的密码,root密码都是一样的定期会全部更新root密码,这个叫标准化 http:…
expect语法示例 #spawn 新建一个进程,这个进程的交互由expect控制 #expect 等待接受进程返回的字符串,直到超时时间,根据规则决定下一步操作 #send 发送字符串给expect控制的进程 #set 设定变量为某个值 #exp_continue 重新执行expect命令分支 #set timeout 30 设置超时时间为30秒,-1不超时,永远等待 #interact 执行完后保持交互状态,如果不加这一项,交互完成会自动退出 #expect eof 等待spawn进程结束后…
我在上一篇博文linux之SSH密钥认证 提过ssh之间的相互认证,但是每次使用ssh登录到其它服务器还是要输入密码的. expect是用于提供自动交互的工具,自动连接被管理的服务器,不需要手动输入密码. 1.安装expect [root@mg ~]# yum install -y expect 2.编写expect脚本,直接分发SSH公钥,不用手工输入密码. vim /server/scripts/expect.exp #!/usr/bin/expect #-------------CopyR…
相关资料 维基百科:Expect SourceForge:The Expect Home Page TCL脚本言语简介 由于Expect是建立在TCL语言基础上的一个工具,因此首先检查一些TCL常见语法. 变量 在Expect中一般用于保存hostname/password/hostname // 定义一个变量 set username "leo" set hostname "xx.domain" // 获取命令行参数(与bash不同的是第一个参数index为0)…
场景 expect命令用于任何自动化互动的过程. send – 发送字符串到进程 expect – 等待来自进程的特定的字符串 spawn – 启动命令 安装 expect一开始100%不存在, 手动执行yum安装 yum install expect 使用入门 假如有文件如下 /tmp/helloworld.exp expect "hello" { send "world\n"} 执行 expect  /tmp/helloworld.exp 将会进入交互模式, 直…
场景:在写两台ubuntu之间需要交互式登录操作shell脚本.就是在ubantu A上,做点什么事,然后远程到ubuntu B上进行操作,shell脚本存放在ubuntu A上. 我遇到这个报错:not a regular file,我在ubantu A上查了老半天,没有问题,是ubantu B上出了问题记录下. 报错如下:not a regular file   解决方法: 1.在ubuntu B上创建的目录,赋予777权限,不用-r参数,否则会报权限错误. chmod 777 /local…