作为usernamesetmypassword [lindex$argv2 ]# 接收第3个参数,作为密码settimeout10# 设置超时时间spawn ssh$username@$ip# 发送ssh请求expect {# 返回信息匹配"*yes/no"{ send"yes\r"; exp_continue}# 第一次ssh连接会提示yes/no,继续"*password:"{ send"$mypassword\r"}# 出现...
在expect命令匹配指定的字符串后,发送指定的字符串给系统,这些命令可以支持一些特殊转义符号,例如:\r表示回车、\n表示换行、\t表示制表符等 exp_continue 从命令的拼写就可以看出命令的作用,即让Expect程序继续匹配的意思,如果需要一次匹配多个字符串,那么不同的匹配之间就要加上exp_continue,否则expect将不会自动输入...
exp_continue 附加于某个 expect 判断项之后,可以使该项被匹配后,还能继续匹配该 expect 判断语句内的其他项。exp_continue 类似于控制语句中的 continue 语句。 例如:下例将判断交互输出中是否存在 yes/no 或 *password。如果匹配 yes/no 则输出 yes 并再次执行判断;如果匹配 *password 则输出 abc123 并结束该...
expect命令用于等候一个相匹配内容输出,匹配上就执行expect后面的命令。 6) exp_continue exp_continue :使用条件比较苛刻,首先它要处于一个expect命令中,然后属于一种动作,没有exp_continue会依次向下匹配多个条件,添加 exp_continue后每次的匹配都是有第一个关键词开始。(参考下方实例) 7) send_user send_user:用...
exp_continue:需处于expect的动作中,表示expect的匹配从头开始继续匹配。 exit,close,wait:exit表示退出脚本,close表示立即关闭过程,而wait则是等待过程返回eof时关闭。 interact:运行表示将控制权交给用户,与spawn生成的进程进行交互。由用户与spawn生成的进程进行交互,比如登录ftp服务器并下载的过程中,登录ftp服务器的过...
exp_continue [-continue_timer]:继续执行下面的匹配。 exp_internal [-f file] value: expect范例 自动telnet会话 #!/usr/bin/expect -f set ip [lindex $argv 0 ] # 接收第1个参数,作为IP set userid [lindex $argv 1 ] # 接收第2个参数,作为userid ...
expect: 从进程接收字符串 interact: 允许用户交互 exp_continue 匹配多个字符串在执行动作后加此命令 3.安装expect软件包 [root@node101.yinzhengjie.org.cn ~]# yum info expect Loaded plugins: fastestmirror Loading mirror speeds from cached hostfile ...
Expect脚本可以接受从bash传递的参数.可以使用[lindex $argv n]获得,n从0开始,分别表示第一个,第二个,第三个…参数 示例:远程ssh另一台主机 #!/usr/bin/expect set ip 192.168.xxx.xxx set pass 123456 set timeout 10 spawn ssh root@$ip expect { "yes/no" { send "yes\r";exp_continue } "pass...
expect "]:" send "/bin/tcsh " expect eof exit 说明: (1)首行指定用来执行该脚本的命令程序,这里是/usr/bin/expect。 (2)程序第一行用来获得脚本的执行参数(其保存在数组$argv中,从0号开始是参数),并将其保存到变量user中。 (3)第二个参数使用expect的spawn命令来启动脚本和命令的会话,这里启动的是ch...
6.exp_continue 允许expect继续向下执行 7.send_user 回显命令,相当于echo 8.$argv 参数数组 expect脚本可以接受从bash传递的参数,可以使用【lindex,$argv n】获得,n从0开始,分别表示第一个、第二个。。。 9.Expect脚本必须以interact或expect eof结束,执行自动化任务通常expect eof就够了 ...