【问题标题】:Command in expect for grep keywordgrep 关键字的期望命令
【发布时间】:2017-04-01 15:19:48
【问题描述】:

期待脚本查询:

在我的一个期望脚本中,我必须从发送命令的输出中选择关键字并存储在一个文件中,有人可以帮助我吗?

发送“我\n” 输出 : EM/X Nmis SSH 会话/2;用户 ID = 影响 = ;范围 = ;客户 ID = 0

这里我要选择关键字:Nmis Ssh Session/2 我的目标是在期望脚本中创建新命令是:

send "set Nmis Ssh Session/2 \n"

所以这个值:Nmis Ssh Session/2 应该存储在一个变量中。谁能帮帮我。

【问题讨论】:

  • -3 而不是一条评论。太好了,社区。​​span>

标签: awk ssh tcl expect send


【解决方案1】:

我不太确定哪一方产生了什么信息,但也许这样的事情会做:

expect -re {EM/X ([^;]+);}
set theVariable $expect_out(1,string)

关键是我们使用-re 选项将正则表达式传递给expect 命令。这使得匹配括号中的文本(非分号字符序列)存储在变量expect_out(1,string) 中(expect_out 数组中存储了许多其他内容;请参阅the documentation)。将其从那里复制到命名变量以进行存储和进一步操作是微不足道的。

我不知道RE是否正确;选择正确的人是一门艺术,需要大量了解对方的可能输出可能是什么。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-04
    • 1970-01-01
    • 2012-04-29
    • 2014-11-20
    • 1970-01-01
    • 2018-11-07
    相关资源
    最近更新 更多