expect替人进行交互】的更多相关文章

expect是一门独立于shell的语言 用expect 执行写好的脚本 #!/usr/bin/expectspawn ssh root@192.168.40.67  (spawn  是expect 内部命令,启动一个shell程序.)expect {        "yes/no" { send "yes\r";exp_continue }(电脑问人的问题截取部分内容  "yes/no" ) (exp_continue,跳过循环,就继续下一条语…
expect实现自动交互由浅入深 作为运维人员可以通过Shell可以实现简单的控制流功能,如:循环.判断等.但是对于需要交互的场合则必须通过人工来干预,有时候我们可能会需要实现和交互程序如telnet服务器等进行交互的功能.而Expect就使用来实现这种功能的工具.Expect是一个免费的编程工具语言,用来实现自动和交互式任务进行通信,而无需人的干预. 安装expect,直接yum install expect -y expect中相关命令 命令 解释 spawn 启动新的进程 send 用于向…
1. 说明 在编写脚本时,可能会遇到需要在另一台主机上执行一个命令,或者在本机拷贝另一台主机内的一个文件.如果两台主机之间没有做互信,就会牵扯到用户输入密码的交互过程,这对编写自动脚本来说, 就行不通了. 要实现在脚本内的自动交互,就需要 expect 2.  expect 命令介绍 expect 是一个用来处理交互的命令.借助 expect 可以将交互过程写在一个脚本里,就可以实现自动化完成.上面的问题也能得到解决. 形象来说,如下命令的交互都能得到解决: ssh scp ftp CentOS…
在linux下进行一些操作时,有时需要与机器进行一些交互操作,比如切换账号时输入账号密码,传输文件时输入账号密码登陆远程机器等,但有时候这些动作需要在shell脚本中进行,这个时候就可以使用expect来进行自动的交互操作,从而避免需要人工干预引起的脚本中断执行. expect的核心命令:spawn expect send set spawn 调用要执行的命令expect 等待命令提示信息的出现,也就是捕捉用户输入的提示:send 发送需要交互的值,替代了用户手动输入内容set 设置变量值int…
Q:利用shell脚本实现ssh自动登录远程服务器? A:expect命令 #!/usr/bin/expect spawn ssh root@172.16.11.99 expect "*password:" send "rootzhang\r" expect "*#" interact #!/usr/bin/expect //告诉操作系统,此脚本里的代码用expect这个shell来执行(类似与bash) shell> expect 脚本…
Linux环境下只有在机器20.200.254.18上ssh dataconv@20.200.31.23才能连接到23的机器,而且还需要输入密码(每次都需要输入地址,密码很烦),所以利用expect写了个脚本. 脚本如下: #!/usr/bin/expect spawn ssh dataconv@20.200.31.23 expect "*password:" send "HF*dv303\r" interact 其中第一行 /usr/bin/expect是表示ex…
比如ssh的时候,如果没设置免密登陆,那么就需要输入密码.使用expect可以做成自动应答 1.expect检测和安装 sudo apt-get install tcl tk expect 2.脚本样例 #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:" send "123\r" expect "*#" interact 3.四个关键命令 spawn: 指定需要将…
1. shell中使用ssh远程连接服务器做一些事情通常需要交互输入些信息, 可使用expect语句解决: 2. expect中设置变量语法: set name xxx set age    xxx       # 使用set设置变量, name, age为变量名称, 后面是变量的值. 3. 变量的引用同shell, 使用$来引用 spawn ssh $name@$age 4. expect中的位置变量; set ip [lindex $argv 0]           # 等同于shell中…
背景 有需求,在允许命令或者脚本跳出交互行,需要进行内容输入,但需要人手动输入,不是很方便,此时可以通过expect来实现自动互动交互. expect是一个自动交互功能的工具,可以满足代替我们实际工作中需要从终端手动输入某些内容来使得程序或命令继续运行的目的.如安装软件是时的一些提示,ssh远程主机执行命令时需要多次输入密码的情况. 安装expect 安装依赖:yum install tcl -y 安装expect:Centos系统yum install expect -y或Ubuntu系统ap…
如果想写一个能够自动处理输入输出的脚本又不想面对C或Perl,那么expect是最好的选择.它可以用来做一些Linux下无法做到交互的一些命令操作. (1).安装和使用expect expect是不会自动安装的所以需要使用命令进行安装,这里使用yum即可: [root@xuexi ~]# yum -y install expect 在脚本中使用expect的方法一般有两种: 第一种.定义脚本执行的shell时,定义为expect.即脚本第一行为#!/bin/expect或#!/usr/bin/e…