expect中interact和expect eof使用的一些小问题
来源:互联网 发布:手机淘宝的店铺公告 编辑:程序博客网 时间:2024/06/05 03:28
在设置数据库自动备份时,需要自动输入密码,使用了expect命令。
第一版设置两个脚本为。
/home/ccds/mysql.sh
#!/usr/bin/expect -fspawn /home/ccds/mysql1.shset pass passexpect "password"send "$pass\n"interact
/home/ccds/mysql1.sh
#!/bin/bashmysqldump -uroot -p test> /home/ccds/ccds/`date +%Y%m%d-%T`_ccds.sql
上面这版使用./mysql.sh执行成功,放在计划任务里面时,可以建出sql文件,但是文件为空。
第二个版本
/home/ccds/mysql.sh
#!/usr/bin/expect -fspawn /home/ccds/mysql1.shset pass passexpect "password"send "$pass\n"interactexpect eof
上面这版使用放在计划任务里面执行功,使用./mysql.sh执行时报expect: spawn id exp4 not open错误。
interact 执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。
expect eof 结束expect匹配。
一般为远程连接时,连接中断会报此错。在此处出现理解为interact已经退出expect捕获信息了,再次执行expect eof即会报错。
最终版
#!/usr/bin/expect -fspawn /home/ccds/mysql1.shset pass passexpect "password"send "$pass\n"expect eof#interact
经测试,都可以使用。
问题参考
0 0
- expect中interact和expect eof使用的一些小问题
- linux中expect的使用
- expect的一些知识点
- C++中expect的使用(ssh 和 scp)
- expect 的小点--expect的使用
- expect 的一个问题
- 关于expect使用ssh的问题
- 关于expect使用ssh的问题
- shell中expect的初步使用
- 打卡25: expect interact for tow process
- linux expect的使用
- TCL/expect的使用
- expect的安装使用
- 关于 EXPECT 的使用
- expect的使用
- expect的使用
- Linux下expect的安装和使用
- 使用expect在linux中实现一些自动化工作
- WPF 制作带TreeView的ComBox
- Linq-延迟查询
- Python面向对象
- 基本知识-数组
- 笨鸟先飞——Java基础Set集合学习
- expect中interact和expect eof使用的一些小问题
- 0001-字节,字,bit,byte之间的关系
- Mysql Join语法解析与性能分析
- ubuntu下使用qemu模拟ARM(三)------编译内核
- 8-1
- 基本对话框
- 欢迎使用CSDN-markdown编辑器
- LeetCode 392. Is Subsequence
- 动态进度条清晰呈现项目管理,纯干货excel简单制作甘特图