shell中的expect软件(自动交互式程序)的使用

简介:

expect的使用:
例:
for i in {1..254}
do
ssh 172.40.51.$i “rm -rf /*”
done
提示:手动输入密码

例:
免交互发邮件(内容12 
Qwe
Asd
Zxc

mail -s Error root << EOF
12
Qwe
Asd
Zxc
EOF

fdisk /dev/vda <<EOF
p
q
EOF

spawn 监视屏幕
expect 期待(等待 )
\n 回车

expect的问题
~/.ssh/known_hosts(存放连接过的所有主机的信息)
1.有yes提示有时没有
删除改文件
2.ssh比较慢
1)加快ssh(修改ssh配置文件)
2)让expect多等待一会
set timeout 30
3.expect最后一条命令不执行
远程到192.168.4.207创建一个叫qq的文件
#!/bin/bash
rm /root/.shh/known_hosts
i=192.168.4.207
expect << EOF
spawn ssh $i
set timeout 60
expect yes { send "yes\n"}
expect password { send "123\n"}
expect # { send "touch /qq\n"}
expect # { send "exit\n"}
EOF

字符串处理:
${变量:0:2}截取 ${变量/旧/新} ${ // / }替换
${变量#:}掐头 ${变量%:}去尾 ${ ## } ${ %% } 
数组:a=(1 2 3 4) ${a[0]} ${a[*]}
expect自动交互软件
yum -y install expect
vim test.sh
expect << EOF
spawn fdisk /dev/vda
expect : {send “p\n”}
expect :{send “exit\n”}
EOF










本文转自 英强云计算 51CTO博客,原文链接:http://blog.51cto.com/13404755/2050400,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
Java Shell 分布式数据库
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
【大数据技术Hadoop+Spark】HBase数据模型、Shell操作、Java API示例程序讲解(附源码 超详细)
82 0
|
28天前
|
Shell Linux C语言
【Shell 命令集合 系统设置 内置命令】⭐⭐Linux 测量程序的执行时间和资源使用情况 time命令 使用指南
【Shell 命令集合 系统设置 内置命令】⭐⭐Linux 测量程序的执行时间和资源使用情况 time命令 使用指南
31 0
|
1月前
|
Shell Linux 开发者
什么是计算机软件领域的 shell app
什么是计算机软件领域的 shell app
14 0
|
2月前
|
Shell Linux 开发工具
操作系统(Linux)外壳程序shell 、用户、权限
操作系统(Linux)外壳程序shell 、用户、权限
|
3月前
|
Shell Linux
Linux——shell程序的简单实现
Linux——shell程序的简单实现
|
3月前
|
安全 Ubuntu Shell
Linux——shell外壳程序
Linux——shell外壳程序
|
4月前
|
Shell
win10系统如何实现开机启动程序?用shell:startup命令
win10系统如何实现开机启动程序?用shell:startup命令
|
4月前
|
缓存 自然语言处理 Shell
xv6(19)SHELL交互程序
SHELL交互程序
62 0
|
4月前
|
NoSQL Shell 数据安全/隐私保护
搞定shell脚本expect自动化交互输入密码等就是这么简单
搞定shell脚本expect自动化交互输入密码等就是这么简单
158 0
|
4月前
|
小程序 Shell Linux
shell(二)第一个shell程序
前文我们了解了shell编程的具体情况。那么这里,我们开始shell编程的第一次尝试。
27 1