原创文章,转载请注明出处。
linux下直接用终端登ssh或者mysql,来回的复制密码很恶心,所以原来一直用pac,只为一个功能,记忆密码,今天发现了expect,真是个好东西,模拟人机交互,实现根据提示来输入数据的自动脚本。
首先要记得安装expect,ubuntu下很简单:
ubuntu
- sudo apt-get install expect
ssh
- #!/usr/bin/expect
- # 解释器声明
- set timeout 30
- # 设置超时时间,单位秒
- spawn ssh test@192.168.1.1
- # spawn 是expect的内部命令,个人理解其作用就是宣告进入人机模拟开始
- expect "Password:"
- # expect也是内部命令,作用是监视终端输出是否包含后面的内容,有则执行下面的send,没有就等待上面设置的timeout时间
- send "123456\r"
- # 这个就是执行交互动作了,模拟人手动输入的东东,切记最后要带上回车符“\r”
- interact
- # 模拟结束,把控制权交还控制台,如果不加这个,就等于直接退出了
mysql
- #!/usr/bin/expect
- set timeout 30
- spawn mysql -uroot -p
- expect "Enter password:"
- send "123456\r"
- interact
记得要给脚本加上可执行权限~
阅读(2276) | 评论(0) | 转发(0) |