博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Linux下后台程序完成自动输入密码等交互行为的例子
阅读量:5150 次
发布时间:2019-06-13

本文共 554 字,大约阅读时间需要 1 分钟。

今天要开发一个定时任务,然后加入cron列表中。但是有个问题摆在眼前,脚本的执行中需要输入密码:

[plain]
  1. mysql -u root -p << SQL  
  2. use db;  
  3. set names utf8;  
  4. `cat task.sql`  
  5. SQL  

运行上述代码后,会提示:

[plain]
  1. Enter password:   

经过搜索,发现expect可以帮助我们完成这件事情:

将上述代码保存到一个文件中:db.sh,并且编写如下代码:

[plain]
  1. #!/usr/bin/expect -f  
  2. spawn db.sh  
  3. expect "Enter password: "  
  4. send -- "password\n"  
  5. interact  

那么我们运行之后,就会进入数据库交互接口。

第一行指示了这个脚本要用哪个程序来运行;

第二行是重点,在EXPECT下启动了一个我们要执行的程序;

第三行也是重点,我们要告诉expect,当什么信息出现时需要expect帮助我们完成交互;

第四行就是出现输入密码的提示时,要发送的内容;

第五行的意思是保持交互,不要退出。如果没有这一句,脚本成功登录数据库后,会立即退出。

 

转载于:https://www.cnblogs.com/seasonzone/p/5631991.html

你可能感兴趣的文章
C语言初学 俩数相除问题
查看>>
博客园安家--写给自己
查看>>
B/S和C/S架构的区别
查看>>
[Java] Java record
查看>>
jQuery - 控制元素显示、隐藏、切换、滑动的方法
查看>>
postgresql学习文档
查看>>
Struts2返回JSON数据的具体应用范例
查看>>
js深度克隆对象、数组
查看>>
c++ 贪吃蛇
查看>>
socket阻塞与非阻塞,同步与异步
查看>>
图论求割点模板
查看>>
poj3903 Stock Exchange 二分+dp
查看>>
数据库实验三
查看>>
instanceof判断参数是否是给定的类型
查看>>
javaCV:爱之初体验
查看>>
Python的基本语句
查看>>
Java应用在运行时常见的一些问题
查看>>
latex+bibtex+jabref(zz)
查看>>
netstat 参数
查看>>
读取数据库
查看>>