加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

expect的使用

发布时间:2020-12-15 18:21:47 所属栏目:安全 来源:网络整理
导读:变量 参数变量 if条件语句 变量 定义:set var value ?eg:set passwd?"1234" 打印expect脚本信息,可用send_user、puts用法类似shell中echo [[email?protected] expects]# cat var.exp#!/usr/bin/expectset passwd "1234"puts $passwdsend_user "$passwdn"
  • 变量
  • 参数变量
  • if条件语句

    • 变量
      定义:set var value
      ?eg:set passwd?"1234"
      打印expect脚本信息,可用send_user、puts用法类似shell中echo
      [[email?protected] expects]# cat var.exp
      #!/usr/bin/expect
      set passwd "1234"
      puts $passwd
      send_user "$passwdn"
      [[email?protected] expects]# expect var.exp
      1234
      1234
      [[email?protected] expects]#
    • 参数变量
      shell脚本中使用$0,$1,$2,$#,[email?protected]等表示特殊参数变量,except中使用$argv表示参数数组,使用【lindex $argv n】,n从0开始表接受的第一个参数,$argv0表示脚本名称如同shell的$0,$argc表示参数 的个数如同shell中$#,[lrange $argv 0 2] 表示1~3的参数。
      [[email?protected] expects]# cat canshu.exp 
      #!/usr/bin/expect
      set name [lindex $argv 0]
      set home [lindex $argv 1]
      set age  [lindex $argv 2]
      puts "$namet$homet$age"
      puts "$argc"
      send_user "$argv0 [lrange $argv 0 2]n"
      [[email?protected] expects]# expect canshu.exp xuetong gx 18
      xuetong gx  18
      3
      canshu.exp xuetong gx 18
      [[email?protected] expects]#

      执行脚本时必须要输入参数,没提示判断输入参数功能。可以通过if语句实现

    • if语句
      if?{条件表达式} {
      ?指令
      }?else?{
      ?指令
      }
      如之前的脚本可以添加判断传参个数条件:
      if {$argc != 3} {
      send_user "usage:expect $argv0 name home agen"
      exit
      }
      #!/usr/bin/expect
      if   {$argc < 10}  {
      puts "error idea!"
      }   else   {
      puts "bingo !"
      }

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读