深圳市龙岗区网站建设,什么行业适合做网站推广,湖州企业网站制作,营销型网站的整体规划expect是一个用来处理交互的命令。借助于expect我们可以把交互过程写在一个脚本上#xff0c;使之自动化完成。expect最核心的四个命令#xff1a;send:用于向进程发送字符串
except:从进程接收字符串
spawn:打开一个新的进程
interact#xff1a;保持交互的状态首先一个简单… expect是一个用来处理交互的命令。借助于expect我们可以把交互过程写在一个脚本上使之自动化完成。expect最核心的四个命令send:用于向进程发送字符串
except:从进程接收字符串
spawn:打开一个新的进程
interact保持交互的状态首先一个简单的脚本#!/usr/bin/expect #定义解释器和shell一样
set user [lindex $argv 0] #定义变量
set host [lindex $argv 1] #
set passwd 8023jun12
spawn ssh $user$host #打开一个ssh进程
expect password: #捕捉到“password:字符串时调用send发送字符串
send $passwd\r
interact #ssh登录后保持登录状态若没有此语句脚本执行完之后就会返回执行脚本[rootslave expect]# ./1.sh root 192.168.1.120
spawn ssh root192.168.1.120
root192.168.1.120s password:
Last login: Tue Dec 27 07:27:07 2016 from slave
[rootmaster ~]#可以设置超时时间set timeout 100设置超时时间为100秒如果要执行的shell命令很长可以设置超时时间长一些。expect超过超时时间没有监测到要找的字符串则不执行默认timeout为10秒expect的命令行参数[lindex $argv n]获得index为n的参数index从0开始计算
$argc为命令行参数的个数
[lrange $argv 0 0]表示第一个参数
[lrange $argv 0 3]表示第1到第3个参数 转载于:https://blog.51cto.com/zidingyi/1887482