expect 脚本中可实现非交互式操作

如何用expect自动帮你发邮件(自动交互)

[root@localhost ~]# mail -s ddd root
vim sss.sh
#! /bin/bash
expect <<EOF    (开头)
spawn ssh 192.168.4.11
expect "?"  (这个问号的地方一定要跟命令行提示一模一样才行!!!!)         {send "yes\n"}     {发送 “yes” 回车}
expect "password"  期待“秘密 ”         {send "123456\n"}    {发送“123456”\n}
expect "#"     (#号表示上一个执行完成了回车了)                {send "touch /dev/123.txt\n" }
expect "#"                  {send "exit\n"}
EOF   (结尾)
\r回车    \n换行

[root@server0 ~]# mail -s test root << EOF  写邮件
> test mail
> hell world
> EOF


通过循环批量操作,版本2:
            
        
        
        
        
        
[root@svr5 ~]# vim  expect_ssh.sh
#!/bin/bash
for i in 10 11
do
expect << EOF
spawn ssh 172.25.0.$i                               #//创建交互式进程
expect "password:" { send "123456\n" }             #//自动发送密码
expect "#   { send "pwd > /tmp/$user.txt \n" }      #//发送命令
expect "#"  { send "exit\n" }
EOF
done
注意事项:
expect脚本的最后一行默认不执行
如果不希望ssh时出现yes/no的提示,远程时使用如下选项:
# ssh -o StrictHostKeyChecking=no server0

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值