expect的用法

#关于expect
expect #自动应答命令用于交互式命令的自动执行
spawn #expect中的监控程序,其运行会监控命令提出的交互式问题
send #发送问题答案给交互命令
“\r” #表示回车
exp_continue #当问题不存在时继续回答下边的问题
expect eof #问题回答完毕退出expect环境
interact #问题回答完毕留在交互界面
set NAME [ lindex $argv n] #定义变量
实验:

yum install expect -y

######编写一个脚本,为expect的调用做铺垫

vim ask.sh

这里写图片描述

vim  answer.exp

expect的用法_第1张图片

chmod +x /mnt/ask.sh  #赋予权限
expect   /mnt/answer.exp  #执行脚本

expect的用法_第2张图片
######交互式回答问题:

vim answer.exp

expect的用法_第3张图片

/mnt/answer.exp  #没有输入问题答案那么回答就为空
/mnt/answer.exp wang 18 linux weinan  
/mnt/answer.exp wang 18 linux

这里写图片描述
######把sh 与expect 联系在一起

vim answer.sh

这里写图片描述

sh answer.sh wang 18 linux weinan
sh answer.sh wang 18 linux
sh answer.sh

这里写图片描述
######把76-79内开着的主机的主机名导入文件里

vim  auto_connection.sh

这里写图片描述

sh  auto_connection.sh
vim   /root/hostname

这里写图片描述
######把76-79内开着的主机的主机名显示到屏幕上

vim  auto_connection.sh

这里写图片描述

sh  auto_connection.sh

这里写图片描述

你可能感兴趣的:(shell)