开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

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,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
shell程序设计
shell程序设计
40 0
shell程序设计(转)
1.shell脚本的基本概念:   (1)Shell执行的是称为shell程序,这些程序通常被称为脚本。    (2)Shell是一个用户和系统间接口的程序,它允许用户向操作系统输入需要执行的命令。
844 0
shell程序设计003
命令列表: AND列表 结果: 因为file_one存在所以echo命令得以执行,应为echo总是返回true的,所以将会执行&&后面的命令,可以file_two不存在所以整个if语句返回false,则执行else OR列表: 结果: if后面的语句执行到true时就不再执行了。
678 0
shell程序设计004
函数: 程序开始定义了yes_or_no函数,函数内容写在{}里面,if后面调用函数并将参数 $1传给函数执行,根据返回值执行后面的语句。
668 0
shell程序设计002
shell的语法: 变量-变量名前面加一个$符号来访问它的内容,再用echo命令将它的内容输出到终端上: read命令将用户的输入命令赋给一个变量,再有echo输出: 引号的使用: 新建一个脚本 vim variab...
605 0
shell程序设计001
shell是一个作为用户与Linux系统接口的程序,它允许用户向操作系统输入需要执行的命令,我们可以使用对输入输出进行重定向,使用 | 在同时执行的程序之间实现数据的管道传递,使用$(...)获取子进程的输出。
663 0
批量修改文件名的脚本bat\python\shell
经常会遇到批量修改文件名的时候,比如下载了一批mp3文件。这些文件名都带有统一的前缀,比如“儿歌-***.mp3”。在听音乐时有时只能回滚前几个文字,这时就可以使用该脚本批量去掉前缀。
927 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Shell 脚本速查手册
立即下载
小程序 大世界
立即下载
《15分钟打造你自己的小程序》
立即下载