expect用法

简介:

1、expect完成交互

#!/usr/bin/expect 
set timeout 30 
spawn ssh -l jiangyr 10.20.36.19
expect "password:" 
send "hellostanley\r" 
interact
1. [#!/usr/bin/expect]  
  这一行告诉操作系统脚本里的代码使用那一个shell来执行。这里的expect其实和linux下的bash、windows下的cmd是一类东西。  
  注意:这一行需要在脚本的第一行。  
2. [set timeout 30]  
  基本上认识英文的都知道这是设置超时时间的,现在你只要记住他的计时单位是:秒  
3. [spawn ssh -l jiangyr 10.20.36.19  
  spawn是进入expect环境后才可以执行的expect内部命令,如果没有装expect或者直接在默认的SHELL下执行是找不到spawn命令的。所以不要用 “which spawn“之类的命令去找spawn命令。好比windows里的dir就是一个内部命令,这个命令由shell自带,你无法找到一个dir.com 或 dir.exe 的可执行文件。  
  它主要的功能是给ssh运行进程加个壳,用来传递交互指令。  
4. [expect "password:"]  
  这里的expect也是expect的一个内部命令,有点晕吧,expect的shell命令和内部命令是一样的,但不是一个功能,习惯就好了。这个命令的意思是判断上次输出结果里是否包含“password:”的字符串,如果有则立即返回,否则就等待一段时间后返回,这里等待时长就是前面设置的30秒  
5. [send "hellostanley\r"   
  这里就是执行交互动作,与手工输入密码的动作等效。  
  温馨提示: 命令字符串结尾别忘记加上“\r”,如果出现异常等待的状态可以核查一下。  
6. [interact]  
  执行完成后保持交互状态,把控制权交给控制台,这个时候就可以手工操作了。如果没有这一句登录完成后会退出,而不是留在远程终端上。如果你只是登录过去执行  
 
本文转自 tianya23 51CTO博客,原文链接:http://blog.51cto.com/tianya23/369669,如需转载请自行联系原作者
相关文章
|
Linux 编译器 开发者
Linux设备树解析:桥接硬件与操作系统的关键架构
在探索Linux的庞大和复杂世界时🌌,我们经常会遇到许多关键概念和工具🛠️,它们使得Linux成为了一个强大和灵活的操作系统💪。其中,"设备树"(Device Tree)是一个不可或缺的部分🌲,尤其是在嵌入式系统🖥️和多平台硬件支持方面🔌。让我们深入了解Linux设备树是什么,它的起源,以及为什么Linux需要它🌳。
Linux设备树解析:桥接硬件与操作系统的关键架构
|
12月前
|
Kubernetes API 开发工具
【Azure Developer】通过SDK(for python)获取Azure服务生命周期信息
需要通过Python SDK获取Azure服务的一些通知信息,如:K8S版本需要更新到指定的版本,Azure服务的维护通知,服务处于不健康状态时的通知,及相关的操作建议等内容。
122 18
|
物联网 网络安全 云计算
继“蓝屏”事件之后,微软再次出现全球性宕机
在影响全球850万台设备的蓝屏故障之后,微软再次出现大规模的宕机事件。这起事件阻止了用户正常访问Microsoft 365和Azure服务。 与Azure相关的服务,包括Microsoft 365、Xbox网络、Outlook、OneDrive等也受到了影响。 根据DownDetector网站显示的数据,自本周二上午开始Microsoft 365应用程序中断的报告激增,用户报告Outlook和其他应用程序出现问题。
|
Unix Shell 数据安全/隐私保护
Solaris操作系统使用小技巧
Solaris操作系统使用小技巧
86 1
|
存储 分布式计算 资源调度
浅谈实时计算
浅谈实时计算
217 0
浅谈实时计算
|
域名解析 关系型数据库 MySQL
阿里云轻量服务器安装WordPress应用镜像网站博客上线图文教程
阿里云轻量应用服务器自带WordPress应用镜像,一键搭建WordPress博客网站,WordPress镜像环境基于Alibaba Cloud Linux3操作系统,PHP 8.1、MySQL 5.7和Nginx 1.22版本,阿里云百科来详细说下阿里云轻量应用服务器安装WordPress应用镜像全过程:
1699 0
阿里云轻量服务器安装WordPress应用镜像网站博客上线图文教程
|
JavaScript
使用JS实现九宫格抽奖功能
使用JS实现九宫格抽奖功能
102 0
|
C# 数据库 C语言
用C#连接到数据库实现学生学籍管理系统(一)
用C#连接到数据库实现学生学籍管理系统
|
算法 C++
<<算法很美>>——(四)——深入递归<二>——“逐步生成结果“类问题之非数值型
<<算法很美>>——(四)——深入递归<二>——“逐步生成结果“类问题之非数值型
<<算法很美>>——(四)——深入递归<二>——“逐步生成结果“类问题之非数值型
|
前端开发 Java Spring
Spring MVC框架:第十三章:类型转换
Spring MVC框架:第十三章:类型转换
193 0