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

转载于:https://blog.51cto.com/13404755/2050400

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值