前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在shell里面嵌套expect命令语句

在shell里面嵌套expect命令语句

作者头像
染指流年
发布2023-03-13 16:17:28
8150
发布2023-03-13 16:17:28
举报
文章被收录于专栏:Mr.WangMr.Wang

1.在/bin/bash脚本内使用expect命令格式如下

代码语言:javascript
复制
示例:
#!/bin/bash
expect <<!      #在bash脚本中嵌套 expect 命令以 <<! 开始
此处为expect命   #中间为需要执行的 expect 命令
!               #在bash脚本中嵌套 expect 命令以 ! 结束

2.一个简单的脚本嵌套expect例子

代码语言:javascript
复制
#!/bin/bash
d1=$(date "+%Y-%m-%d")
/bin/expect <<!      #expect命令的执行路径
set timeout 30       #等待30秒
spawn bash -c "/bin/scp /home/postgres-backup/${d1}_* root@10.1.0.42:/home/ > /dev/zero" 
                    ⬆#此处为expect执行的命令
expect "password:"   #监测spawn返回的信息里面是否包含'password:'
send "123456\r"      #如果上一条里面包含'password:'那么输入123456,\r 是换行
#expect eof          #执行完 spawn 命令后返回当前控制台。
#interact            #执行完 spawn 命令后留在对方控制台,比如ssh情景,需要留在ssh的机器上面
!                    #expect命令执行完,以 ! 结束

3.注意事项

如果 expect 命令里面包含 通配符,例如上面的例子里面的 * ,这时需要在 spawn 后面加上 bash -c 参数即可,反之亦然。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2020-05-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.在/bin/bash脚本内使用expect命令格式如下
  • 2.一个简单的脚本嵌套expect例子
  • 3.注意事项
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档