1 expect实现自动化 2018-04-07

一. 作用

实现交互任务自动化完成

二. 基本语法

1. 引入文件,表明使用的是哪一个Shell

#!/usr/bin/expect

2. 设置会话时间,若不限制超时时间设置为-1

set timeout 30 或 set timeout -1

设置变量:set param "param_str"

                 set param 1

3. 开启会话

spawn 命令

如:spawn su root

4. expect接受命令执行后的输出,和期望字符串匹配


注意:此处 { 和expect同在一行

若对应,执行相应send发送来的交互信

send会将expect脚本中需要的信息发送给sqawn启动的那个进程,send_user是回显用户发出的信息

如:

expect "*assword" 提示信息,等待用户输入密码

send "${password}\r" 模拟用户输入密码的字符串,完成登录验证

疑问?一个expect后一定要跟一个对应的Send和它匹配吗?

5. 结束符

expect eof 等待执行结束,若没有这一句,可能导致命令还没有执行,脚本就结束了

interact 执行完成后保持交互转态,此时可以手动输入信息

以上二者选一即可

6. 参数

$argc 参数个数

使用第一个参数:set param0 [lindex $argv 0](注意:参数下标从0开始)

$argv0 脚本名

exp_continue 跳出本次循环

7. if判断用{ }括起来,if与后面的{ }有空格,if的条件后要加 { ,此时 { 代表衔接下一行

两个花括号之间必须有空格,否则报错

8. else不可以单独放在一行,即要跟在 } 后面


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值