expect安装去测试

摘要:
/usr/bin/expect-fsettimeout30setname[lindex$argv0]setpw[lindex$argv1]log_user0spawpasswd$namefor{seti1}{$i/dev/null”,然后启动子进程以运行passwd程序。因为密码将被输入两次,所以我们使用TCL语法中的for循环来执行两次密码输入。最后,如果单词“successful”匹配,输出将被成功修改,然后退出脚本。

1.下载expect和tcl

下载地址:http://download.csdn.net/download/tobyaries/5754943

2.安装expect

tar -zxvf tcl8.4.11-src.tar.gz
tar -zxvf expect-5.43.0.tar.gz
cd tcl8.4.11/unix
./configure
make && make install

cdexpect-5.43

./configure --with-tcl=/usr/local/lib/ --with-tclinclude=/data/software/tcl8.4.11

make && make install

3.脚本测试

  1. #!/usr/bin/expect-f
  2. settimeout30
  3. setname[lindex$argv0]
  4. setpw[lindex$argv1]
  5. log_user0
  6. spawnpasswd$name
  7. for{seti1}{$i<3}{incri}{
  8. expect"*password:"{send"$pw "}
  9. }
  10. expect"*successfully"
  11. send_user"Passwordupdatedsuccessfully "
  12. expecteof

[解析]

很简单的程序,首先把第一个参数赋值给变量name作为用户名,把第二个参数赋值给pw作为密码。然后关闭标准输出,就是类似shell的 "> /dev/null",然后spawn开启子进程运行passwd程序,因为会重复输入2次密码,所以这里我们用到了TCL语法的for循环,执行2次密码输入。最后匹配到successfully字样的就输出修改成功,然后退出脚本。

免责声明:文章转载自《expect安装去测试》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇vue+element-ui el-table表格(含表头)内容溢出省略,鼠标悬浮提示Vbscript Property let,Property Get,Property Set下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

expect介绍和使用

安装 expect是建立在tcl基础上的一个自动化交互套件, 在一些需要交互输入指令的场景下, 可通过脚本设置自动进行交互通信. 其交互流程是: spawn启动指定进程 -> expect获取指定关键字 -> send想指定进程发送指定指令 -> 执行完成, 退出. 由于expect是基于tcl的, 所以需要确保系统中安装了tcl: #...

转 在shell脚本中使用expect实现scp传输问题

1.安装expect expect用于shell脚本中自动交互,其是基于tcl编程语言的工具。所以安装expect首先安装tcl。本文中使用的是expect5.45和tcl8.6.6。 安装tcl [root@tseg0 /]$ mkdir /tools [root@tseg0 /]$ tar -zxvf tcl8.6.6-src.tar.gz [roo...

Linux Tcl和Expect的安装

一、先安装Tcl 1、下载:tcl版本 8.4.19 http://sourceforge.net/projects/tcl/files/Tcl/8.4.19/tcl8.4.19-src.tar.gz/download 2、解压缩源码包 tar xfvz tcl8.4.19-src.tar.gz 3、安装配置 #cd tcl8.4.19/unix #....

使用jest进行单元测试

以前,写完一段代码我也是直接调用或者实例化一下,发现过了就把测试相关部分删了。今年的不幸与坎坷使我有很长一段时间去思考人生,不想将就了,鲁棒健壮的程序,开发和测试应该是分得很开的,于是我选择jest去做单元测试这件事。 为什么要做单元测试 在开始之前,我们先思考这样一个问题,我们为什么要做单元测试? 不扯犊子直接说吧,第一点,用数据、用茫茫多的测试用例去告...

python 抓取cisco交换机配置文件

#!/usr/bin/python import sys import time import os import pexpect now = time.strftime('%Y-%m-%d',time.localtime(time.time()))aa = open ('/home/hanlei/test/%s/log.txt' % now, "w")...

原!linux机器 配置自动scp脚本

 方式一: 1.安装相关依赖包 yum install -y tcl tclx tcl-develyum -y install expect 2.脚本 scp.sh #!/usr/bin/expect #获取输入参数set f1 [lindex $argv 0]set f2 [lindex $argv 1]set dir [lindex $argv 2]s...