思科Expect脚本中的错误

约翰尼·贝坎(Johnny Becane)

我写了一个基本的Cisco Expect脚本。ssh连接后,从文件发送命令行时,我想检测Cisco错误输出,例如:

SPAIN#sow crypto isakmp sa
       ^
% Invalid input detected at '^' marker.

我想在循环中捕获“%Invalid”并停止程序。

foreach line $data {
    expect "*#"
    send "$line\r"
    expect {
        "% Invalid*" { send_user "\n Command [ $line ] Failed. \n"; exit 252 }
    }

我在输出中得到这些错误:

SPAIN>enable
Password:
SPAIN#sow crypto isakmp sa
   ^
% Invalid input detected at '^' marker.

SPAIN#invalid command name "sow crypto isakmp sa"
while executing
"$line "
invoked from within
"expect {
     "% Invalid*" { send_user "\n Command [ $line ]  Failed. \n"; exit 252}
}"
("foreach" body line 4)
invoked from within
"foreach line $data {
    expect "*#"
    send "$line\r"
    expect {
        "% Invalid*" { send_user "\n Command [ $line ] Failed. \n"; exit 252}
    }
}"

谢谢

将要

问题是,[]在Tcl有特殊含义。执行命令并返回结果。

更改此:

expect {
    "% Invalid*" { send_user "\n Command [ $line ] Failed. \n"; exit 252 }
}

到:

expect {
    "% Invalid*" { send_user "\n Command \[ $line \] Failed. \n"; exit 252 }
}

有关更多信息,请参见Tcl手册中的评估与替代3:使用[]参数分组

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

思科Expect脚本中的错误

来自分类Dev

如何从Expect脚本中捕获标准错误

来自分类Dev

Expect脚本中的变量文件

来自分类Dev

在Expect脚本中运行bash脚本

来自分类Dev

无法在Expect脚本中执行bash脚本

来自分类Dev

在Expect脚本中运行bash脚本

来自分类Dev

Bash / Expect脚本回显结果错误

来自分类Dev

生成bash脚本时,Expect脚本返回错误。为什么?

来自分类Dev

在当前目录中运行Expect脚本

来自分类Dev

bash脚本中的Expect命令失败

来自分类Dev

在Expect脚本中无法识别eof

来自分类Dev

在当前目录中运行Expect脚本

来自分类Dev

bash脚本中的Expect命令失败

来自分类Dev

Expect脚本仅运行一个命令并显示错误

来自分类Dev

systemtap脚本中的错误

来自分类Dev

脚本中的路径错误

来自分类Dev

脚本中的RSync错误

来自分类Dev

OnClick脚本中的错误

来自分类Dev

Groovy脚本中的错误

来自分类Dev

脚本中的cp错误

来自分类Dev

果园中的脚本错误

来自分类Dev

Expect / Shell 脚本中密码中的非法字符

来自分类Dev

如何在Expect脚本中查找文件是否存在

来自分类Dev

如何从Expect脚本中的命令获取退出状态

来自分类Dev

如何在Expect脚本中查找文件是否存在

来自分类Dev

bash中的Expect脚本的文件名扩展

来自分类Dev

退出 Expect 脚本

来自分类Dev

德尔福 WinInet +思科+ NTLM。12045和12057错误

来自分类Dev

bash脚本中的替换错误