shell中的交互模式:expect】的更多相关文章

在shell开发中,我们连接FTP或者passwd或sudo等操作时,需要手动输入密码.对于自动化而言,这显然是不合适的.而expect的强交互模式解决了这个问题.工作中偶有涉及到这个,个人也是简单的了解,解决实际问题,作学习记录. 一:安装[参考地址:https://www.cnblogs.com/lixigang/articles/4849527.html] expect需要Tcl编程语言的支持,所以expect需要安装两个东西.一个tcl,一个expect:[安装前,可通过 "which/…
这里必须先安装: yum install expect -y expect是一种自动交互语言,能实现在shell脚本中为scp和ssh等自动输入密码自动登录. 下面给出scp和ssh的使用示例: 1.scp [root@BS-WORKERMAN-NFS package]# cat scp.sh #!/bin/bash src=/package dsc=/root/ for i in {4,5,6} do expect -c " spawn scp -r $src/scp.sh root@10.2…
matplotlib交互模式与pacharm单独Figure设置 觉得有用的话,欢迎一起讨论相互学习~Follow Me Matpotlib交互模式 在运行python程序时有时候需要生成以下的 动态图模式 来显示程序运行的结果 此时需要使用matplotlib的 交互模式 ,在Ipython中时默认使用交互模式的. 在pycharm中使用 import matplotlib.pyplot as plt plt.ion() .... plt.ioff() plt.show() 框架来开启 交互模…
最近写自动安装脚本遇到redis-server安装的时候,需要输入3个回车,对此尝试无果,最后google比较满意的解决办法: shell 脚本需要交互,比如输入回车,输入YES/NO Y/N之类进行选择 Linux 中shell脚本运行时经常需要进行交互,比如安装软件的过程中对license声明的确认,需要输入yes,回车之类的确认信息.这个在自动化安装的时候就会是个问题. 1.通常对于这个问题比较灵活的解决方法就是TCL的Expect.但Expect还需要另外安装,平台通用性不高,比较麻烦.…
最近项目需求,需要写一些shell脚本交互,管道不够用时,expect可以很好的实现脚本之间交互,搜索资料,发现网上好多文章都是转载的,觉得这篇文章还不错,所以简单修改之后拿过来和大家分享一下~ 1. expect是spawn: 后面加上需要执行的shell命令,比如说spawn sudo touch testfile 1.3 expect: 只有spawn执行的命令结果才会被expect捕捉到,因为spawn会启动一个进程,只有这个进程的相关信息才会被捕捉到,主要包括:标准输入的提示信息,Li…
shell中交互输入自动化 shell中有时我们需要交互,但是呢我们又不想每次从stdin输入,想让其自动化,这时我们就要使shell交互输入自动化了.这个功能很有用的哟.好好学习. 1    利用重定向     重定向的方法应该是最简单的 例: 以下的test.sh是要求我们从stdin中分别输入no,name然后将输入的no,name打印出来 [root@localhost test]# cat test.sh #! /bin/bash read -p "enter number:"…
expect一般用于实现用脚本来自动远程登录,对远程机器执行相关操作 测试机上的expect目录一般在/usr/bin/expect路径 下面是从网上查询的用法总结: 1. expect中的判断语句: if { condition } { # do your things } elseif { # do your things } else { # do your things } expect中没有小括号(),所有的if/else, while, for的条件全部使用大括号{}, 并且{ 与左…
本篇主要写一些shell脚本免交互expect的使用. 概述 Expect是建立在tcl基础上的一个工具,Expect 是用来进行自动化控制和测试的工具.主要解决shell脚本中不可交互的问题. 安装 使用此工具前需先安装 yum install -y expect 基本命令 send 向进程发送字符串,用于模拟用户的输入 该命令不能自动回车换行,一般要加\r (回车) expect expect的一个内部命令,判断上次输出结果里是否包含指定的字符串,如果有则立即返回,否则就等待超时时间后返回.…
expect是用来实现自动交互功能的工具之一,使用expect-send来实现交互过程. 注意: 1.脚本的执行方法与bash shell不一样,比如:expect example.sh 2.向一个脚本传递参数时,bash shell是使用$1,$2...来接收参数的:而expect则将脚本的执行参数保存在数组$argv中,在脚本中一般将其赋值给变量:set 变量名 [lindex $argv 参数] ? 1 2 3 4 5 6 7 8 9 10 11 12 #!/usr/bin/expect…
linux自动化交互脚本expect详解  更新时间:2020年10月21日 10:13:20   作者:lendsomething     这篇文章主要介绍了linux自动化交互脚本expect的相关知识,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下   目录 一.介绍 二.安装 三.简单的expect脚本 3.1.编写脚本 3.2.解释脚本 3.3.总结 四.正文 4.1.常用命令说明 4.2.示例:运行shell脚本 一.介绍 expect脚本是…