cms做视频网站,宁波高端品牌网站建设,黑龙江省住房和城乡建设厅官网,为企业规划网站注意什么expect可以让一些交互的任务自动完成#xff0c;我们可以将一些交互过程写入脚本#xff0c;ssh登录就是一个简单的实现#xff0c;下面将介绍expect的用法。 1 安装 yum install -y expect 2 语法介绍 expect - send 这两个指令会配合使用#xff0c;当expect接收到一个和… expect可以让一些交互的任务自动完成我们可以将一些交互过程写入脚本ssh登录就是一个简单的实现下面将介绍expect的用法。 1 安装 yum install -y expect 2 语法介绍 expect - send 这两个指令会配合使用当expect接收到一个和预期字符串相匹配的输入会执行send指令send会发出字符串或者对应的指令。 执行如下脚本 expect yes\n
send What you type in is $expect_out(buffer)
send The correct input is $expect_out(0,string)
#note$expect_out(buffer)储存了所有对expect的输入$expect_out(0,string)储存了所有相匹配值的输入 当你输入为yes时输出结果为 yes
What you type in is yes
The correct input is yes当你输入第一次不为所预期的字符串时进程会继续等待直到你输入为yes dd
yes
What you type in is dd
yes
The correct input is yes expect也可像switch的语句一样 expect {1\n {send one\n}2\n {send two\n}3\n {send three\n}
}spawn spawn后面会加上一个命令打开一个新的进程。 spawn sshroot 192.168.1.1 interact 执行完成后保持交互状态把控制权交给控制台这个时候就可以手工操作了。如果没有这一句登录完成后会退出而不是留在远程终端上。 3 自动登录脚本示例 #!/usr/bin/expect
set timeout -1 #设置超时时间-1为用不超时
set ip 192.168.100.1
set passwd root
set user root
spawn ssh $user$ip
expect {
*yes/no {send yes\r;exp_continue} #exp_continue可以继续执行下面的匹配
*password {send $passwd\r}
}
expect login
send pwd\r #登录成功执行pwd命令
interact转载于:https://www.cnblogs.com/panyouming/p/9415158.html