Shell 交互输入
来源:互联网 发布:淘宝取现手续费多少 编辑:程序博客网 时间:2024/05/29 07:36
场景描述
如果脚本中使用ssh 登录服务器,如何用shell实现自动输入密码呢? 其实有三种办法:
1.重定向
2.管道
前两种前提条件是指令必须有参数设置密码的输入方式,比如sudo -S 表示从标准输入中读取密码, 但是ssh 没有任何参数表示输入密码,只能使用第三种办法:
3. expect
主要适用于交互脚本中,详细参见1,内容比较多,这里只写如何解决自动用ssh登录服务器
- 和shell一样, 需要安装expect 解释器: sudo apt-get install expect
- 新建的文件以*.exp结尾,需要包含 #!/bin/expect
- 运行: expect *.exp
#!/bin/expectset timeout 15spawn ssh root@ipexpect { "(yes/no)" { send "yes\r"; exp_continue } "*password:" { send "123\r"}}interact
解释如下:
- 设定超时时间15s
- spawn是expect的语句,执行命令前都要加这句;
- expect 上次的命令是否包含password:字符串
- send 执行交互动作,与手工输入密码类似,将密码发送出去
- interact 执行完成后,把控制权交给控制台
shell 中如何嵌入或调用expect语言
- shell 中嵌入expect有点复杂,这里不做介绍
- shell 中可以通过 expect test.exp 调用
参考
参考1 详细的描述expect的使用 语法
参考2
参考3
每天都有不同的任务,任务中包含中各种不同的知识点,唯有各种知识点理解清楚,才能够快速的完成大的任务.
新换的桌面系统,还是比较清新的。
阅读全文
0 0
- Shell 交互输入
- shell中交互输入自动化
- shell中交互输入自动化
- Shell脚本交互之:自动输入密码
- shell脚本之输入交互read
- Shell脚本交互之:自动输入密码
- Shell while read命令完成用户的交互输入
- Linux-----Shell脚本交互实现自动输入密码
- Shell脚本交互之:自动输入密码【转】
- 交互shell
- shell 交互
- linux shell 脚本需要交互,比如输入回车,输入YES/NO Y/N之类进行选择
- linux shell 脚本需要交互,比如输入回车,输入YES/NO Y/N之类进行选择
- Linux Shell自动交互
- shell && sql 交互脚本
- shell 与 sqlplus 交互
- PHP与Shell交互
- shell 与 sqlplus 交互
- JAVA语言实现大量信息的分页显示功能及对象反射(通过参数找到对应的函数)
- 简单易懂的ftp配置教程
- java中的匿名类
- 使用python Django框架来实现web端分页呈现数据
- 插件化框架 RePlugin 应用之三:外置插件
- Shell 交互输入
- Set接口(Set接口简介、HashSet集合、TreeSet集合 )
- freetype的安装
- C# 保存为Xml是对特殊字符的处理
- 写优雅代码之聊一聊多肽
- search-insert-position
- 震惊! 程序员以后写代码要按行收费
- 本地电脑与远程服务器之间不能复制粘贴解决方法
- 在实现从excel中读取数据作为接口参数遇到的问题