expect的模式
expect的模式其实就是对话模式:
expect # 期望什么
send # 我给你什么
比如:
expect "password: " # 碰到什么了
send "123456" # 我给你什么
expect有一个默认的超时时间,如果得不到你的输入,(expect期望的字符串),它就会直接执行后面的步骤。
#!/usr/bin/expect
set timeout 30
spawn ssh test@127.0.0.1
expect "password:"
send "123456\n"
interact
# interact命令可以让我们停留在远程主机上,如果没有这一句,登录后会立即退出,而不是停留在远程主机。
#!/usr/bin/expect
set timeout 30
spawn ssh root@127.0.0.1 "hostname"
expect "password:"
send "123456\n"
expect eof
# 如果不加这一句,上面的hostname将无效,登录后立即退回到本地主机;只有加了,才会打印远程主机的主机名,然后再退出到本地主机。
expect的模式的更多相关文章
- expect入门--自动化linux交互式命令
很多linux程序比如passwd,ftp,scp,ssh等自身并没有提供一种静默式的执行选项,而是依赖于运行时的终端输入来进行后一步的操作比如更改密码.文件上传.下载等.虽然有些编程语言如java嵌 ...
- expect-调试模式的使用
1.expect简介 Expect是一种TCL扩展性的语言,主要用于完成系统交互方面的功能,比如SSH.FTP等,这些程序都需要手工与它们进行互动,而使用Expect就可以模拟人手工互动的过程,是一种 ...
- Linux下使用expect实现跳板机自动跳转/免密登录/自动登录(转)
shell脚本实现ssh自动登录远程服务器示例: #!/usr/bin/expect spawn ssh root@192.168.22.194 expect "*password:&quo ...
- expect 知识与示例说明
expect 知识与示例说明 2012/04/10 chenxin 2019/07/07 update Chenxin 参考 https://www.cnblogs.com/yinghao1991/p ...
- shell登录 脚本 expect
作用 工作中,我们运行命令.脚本或程序时,这些命令.脚本或程序都需要从终端输入某些继续运行的指令,而这些输入都需要人为的手工进行. 利用expect,则可以根据程序的提示,模拟标准输入提供给程序,从而 ...
- 交互式shell编程
FQ #!/usr/bin/env shxfce4-terminal -x sudo python ./local/proxy.py 连续执行 gnome-terminal -x bash -c &q ...
- Linux下利用expect,不用交互模式,直接登陆远程主机
Linux环境下只有在机器20.200.254.18上ssh dataconv@20.200.31.23才能连接到23的机器,而且还需要输入密码(每次都需要输入地址,密码很烦),所以利用expect写 ...
- shell中的交互模式:expect
在shell开发中,我们连接FTP或者passwd或sudo等操作时,需要手动输入密码.对于自动化而言,这显然是不合适的.而expect的强交互模式解决了这个问题.工作中偶有涉及到这个,个人也是简单的 ...
- Federated Identity Pattern 联合身份模式
Delegate authentication to an external identity provider. This pattern can simplify development, min ...
随机推荐
- exsi 回收虚拟机磁盘
用客户端登陆服务端,用下面命令停止虚拟机机器 esxcli vm process list 用如下命令关闭一台虚拟机: esxcli vm process kill --type=[soft,h ...
- Springboot系列1_什么是Springboot
Springboot系列1_什么是Springboot */--> code {color: #FF0000} pre.src {background-color: #002b36; color ...
- 48.Course Schedule(课程安排)
Level: Medium 题目描述: There are a total of n courses you have to take, labeled from 0 to n-1. Some c ...
- Vue-基础(二)
一,Vue中的组件化开发: Vue中的组件也就是Vue实例 组件类型: 通用组件(例如,表单,弹窗,布局类等) 业务组件(抽奖,机器分类) 页面组件(单页面开发程序的每个页面都是一个组件) 组件开发三 ...
- 关于 ioctl 函数
ioctl函数是用于控制的设备的接口 1.底层: long (*unlocked_ioctl) (struct file *filp, unsigned int cmd, unsigned long ...
- Codeforces 1190C Tokitsukaze and Duel game
题意:有一个长为n的01串,两个人轮流操作,每个人可以把某个长度为m的区间变成相同颜色,谁在操作后整个串颜色相同就赢了.问最后是谁赢?(有可能平局) 思路:容易发现,如果第一个人不能一击必胜,那么他就 ...
- 第6篇如何访问pod
一.通过 Service 访问 Pod: 我们不应该期望 Kubernetes Pod 是健壮的,而是要假设 Pod 中的容器很可能因为各种原因发生故障而死掉.Deployment 等 con ...
- java中数据库和VO的一一对应关系
如图所示,数据库中数据如果有下划线,则JavaVO中删除,除第一个单词外,其他单词首字母大写
- 所有anaconda安装包失败的解决办法汇总
多试几次,有时候网络不稳定下载一半会停掉 更改Pip源 pip install scrapy -i https://pypi.tuna.tsinghua.edu.cn/simple 1.首先确认镜像源 ...
- range类型(Python)
range 不是 iterator >>> R = range(3) >>> next(R) Traceback (most recent call last): ...