expect使用小结

原创 2018年04月17日 18:20:01

最近使用的脚本中需要输入用户名密码,所以使用了expect,归纳一下使用方法和注意的点

首先,expect需要安装后使用,安装方法非常简单,使用yum install expect即可完成安装。

脚本大致如下:

#!/bin/bash

/usr/bin/expect <<EOF
spawn su - username
expect {
    "口令:"
        {
            send "password\r"
            send "sleep 1 \r"
        }
}
expect eof
spawn scp -r backup username@ipaddress:/backup/ldap/
expect {
    "password:"
        {
            send "this is password\r"
        }
}
expect eof
interact
EOF

expect后面第一个括号中写的是在遇到什么字符时触发,send后面的双引号中为要输入的字符。需要注意的是send不会自动换行,需要添加\r。

如果是scp之类的传输文件,注意需要用set timeout 60设置超时时间,60为秒,不设置的话默认为10秒。


微信公众号使用

微信公众号使用,是一套基础课程,为后面的《PHP微信公众号开发》做铺垫。微信几乎是智能手机上必装的软件,很多的商家在微信上开通公众号,想要把公众号的价值发挥最大,必须学会公众号的使用,开发和营销。这一套课程重点教你学会公众号的使用,为后面的做好基础。欢迎反馈,QQ/微信:68183131
  • 2016年06月24日 14:48

windows下expect使用小结

1,主要程序源文件概述(在编译过程中提取) exp_command.c   ---> expect.c   ---> exp_inter.c   ---> exp_regexp.c   -...
  • yuhanfeng314
  • yuhanfeng314
  • 2014-07-30 20:17:02
  • 3160

ssh登录脚本 expect语言中使用awk

五一劳动节被叫过去加班,要升级程序,有100多台的服务器。需要先登录服务器,再将服务器上的程序停掉,服务器上的程序进程是用screen建立的,ps -ef 他的进程PID 然后kill掉  #!/us...
  • yuanxuran0101
  • yuanxuran0101
  • 2010-05-01 10:55:00
  • 2213

linux中expect的使用

核心 1、什么是expect 2、expect原理 3、expect的案例 4、expect注意事项1、expect是什么 使用Linux的程序员对输入密码都不会陌生,在Linux下对用户有...
  • paicMis
  • paicMis
  • 2017-03-01 22:31:51
  • 2021

expect小结

一直都在想linux下有没有像windows下的GTP那么神奇的工具.直到接触到expect命令以后. 这是一个神奇的工具,它可以让你轻易的实现密码的自动输入.也可以轻易的对需要持续运行的程序完成自动...
  • cp3alai
  • cp3alai
  • 2015-02-05 05:10:42
  • 814

WINDOWS下使用EXPECT的简单例子

这是一个自动登录AIX服务器的例子。 1、先去如下地方下载expect:windows">http://expect.nist.gov/#windowsftp://bmrc.berkeley.edu/...
  • iiprogram
  • iiprogram
  • 2007-09-14 09:07:00
  • 5207

expect命令怎么用?

一段人工交互过程改成程序自动交互,应该怎么使用expect呢?
  • binbinxyz
  • binbinxyz
  • 2016-10-22 16:00:52
  • 521

关于expect在Windows上的安装和使用

关于expect在Windows上的安装和使用:  这里经过在网上的收集和验证,熟悉了两种方式,由于没有深入研究,仅供安装参考。  方式1:直接下载expect安装文件:  http:/...
  • qazhyb1234
  • qazhyb1234
  • 2014-02-10 09:47:09
  • 3591

shell中嵌套使用expect 实例

#!/bin/sh username=hailonxi echo $# i=1 ###参数都放在数组a中 for args in $@ do     a[i]=$args   ...
  • u011851539
  • u011851539
  • 2015-09-29 15:00:03
  • 2962

Expect工具的安装及使用方法

使用expect工具实现需要用户交互场景下的脚本自动化
  • wangtaoking1
  • wangtaoking1
  • 2017-10-18 00:24:23
  • 689
收藏助手
不良信息举报
您举报文章:expect使用小结
举报原因:
原因补充:

(最多只允许输入30个字)