示例:
#!/bin/bash
expect <<! #在bash脚本中嵌套 expect 命令以 <<! 开始
此处为expect命 #中间为需要执行的 expect 命令
! #在bash脚本中嵌套 expect 命令以 ! 结束
#!/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命令执行完,以 ! 结束
如果 expect 命令里面包含 通配符,例如上面的例子里面的 * ,这时需要在 spawn 后面加上 bash -c 参数即可,反之亦然。
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有