怎么使用shell脚本执行命令实现自动填充密码


这篇文章主要介绍“怎么使用shell脚本执行命令实现自动填充密码”,在日常操作中,相信很多人在怎么使用shell脚本执行命令实现自动填充密码问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用shell脚本执行命令实现自动填充密码”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!日常开发过程中,经常会有一些自动化的操作受制于密码,当然,密码是安全的。
常见的一些应用场景,如ssh连接服务器、mys免费云主机域名ql登录与备份、git上传、网站登录、ftp登录、telnet等等。
那么我们今天就讲如何在自动化过程中,自动的在tel终端中填充密码(基于python的包)。Expect脚本语言,它是由TCL语言实现的,主要用于人机交互式对话的自动化控制,pexpect就是在python的基础上开发出的类似Expect功能的模块。它的实现分为四部分:创建pexpect程序手柄通过内置expect方法等待关键字匹配完成后授权手柄完成密码的填充结束手柄并将控制权授予用户终端Terminal(如果需要的话)下面的案例是我导出数据数据写的demo,执行语法python backup.py >> backup.sql注意,如果创建.sh文件后不可以执行,请执行sudo chmod 755 文件名.sh来修改权限。使用 echo “密码” | (管道符)使用场景: sudo 命令在使用普通用户执行 root 命令时有时候会需要输入密码,并且在输入密码后一段时间不需要再次输入(但是不影响),这时候可以使用比如我需要一键清空服务器,则可以创建一个clear.sh文件(假使我的密码是 123456):那么在执行的时候,我只需要./clear.sh就可以清空我的整个数据库。重定向用重定向方法实现交互的前提是指令需要有参数来指定密码输入方式,如ftp就有-i参数来指定使用标准输入来输入密码shell用重定向作为标准输入的用法是:cmd
使用场景:不仅仅输入一个密码,还需要输入用户名。expectecho + 管道符不是什么时候都可以生效(比如我写的自动提交博客脚本最后需要输入我的服务器的 git 仓库密码就不生效),因此我们可以使用 expect 方法来执行。这里的语句是这样的:设置超时时间为30sspawn 是 expect 的起始语句,可以理解为从此处开始spawn 后面的语句是执行 ssh 连接expect:当发现password:这个字符串后,在后方输入send后面的内容
send:要输入的密码
interact:执行完留在远程控制台,不加这句执行完后返回本地控制台再举一个例子这个例子是我真实的脚本文件(但是磨掉了密码),平时用于往我的服务器中提交 hexo 博客首先进入到hexo文件夹下因为要用到sudo 来 clean/generate/deploy我的博客,所以我这里使用一个 echo+管道符,输入一次 sudo 命令(短时间内不需要再重复输入,所以我只写了一个)generate 一下 hexo 文件提交到远程仓库,这里需要输入远程仓库的密码,所以我用spawn标记这句话当 expect(发现)到”password:”后执行send将我的密码 send(发送到)到控制台到此,关于“怎么使用shell脚本执行命令实现自动填充密码”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注百云主机网站,小编会继续努力为大家带来更多实用的文章!

相关推荐: 如何让html标签不可编辑

这篇文章主要介绍“如何让html标签不可编辑”,在日常操作中,相信很多人在如何让html标签不可编辑问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何让html标签不可编辑”的疑惑有所帮助!接下来,请跟着小编一起来学习吧! 让h…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

Like (0)
Donate 微信扫一扫 微信扫一扫
Previous 05/12 13:06
Next 05/12 13:07

相关推荐