我是一个期待初学者...我已经写了一个小脚本,必须登录到路由器,并执行几个命令..但是,不知何故我发现,即使当我已使用发送“admin show platform”THRICE,它只为我工作两次..我只获得两次输出admin show platform
。期待'发送'不按预期工作
任何人都可以检查代码并指出我在哪里,其实我搞砸了的代码..
Gsaxena#
Gsaxena#
Gsaxena# ./testTool
spawn /usr/bin/ksh
telnet 5.28.7.103
$ telnet 5.28.7.103
Trying 5.28.7.103...
Connected to 5.28.7.103.
Escape character is '^]'.
User Access Verification
Username:
Username: lab
Password:
RP/0/RP0/CPU0:Billorani#debug ospf ospf1 adj
Mon Oct 14 17:16:06.144 UTC
**RP/0/RP0/CPU0:Billorani#show platform**
Mon Oct 14 17:16:06.416 UTC
Node Type PLIM State Config State
------------- ----------------- ------------------ --------------- ---------------
x/x/x0 xxxxG N/A IN-RESET PWR,NSHUT,MON
**RP/0/RP0/CPU0:Billorani#show platform**
Mon Oct 14 17:16:06.416 UTC
Node Type PLIM State Config State
------------- ----------------- ------------------ --------------- ---------------
x/x/xxx0 xxxxG N/A IN-RESET PWR,NSHUT,MON
RP/0/RP0/CPU0:Billorani#
Gsaxena#
Gsaxena#
Gsaxena#
Gsaxena#
Gsaxena#
#!/usr/bin/expect
set timeout 30
set hostcut "Bil"
sleep 5
set timeout 5
spawn /usr/bin/ksh
send "telnet 5.8.7.103\r"
expect ".*\'\^\]\'\. *"
send "\r"
expect "Username\:"
send "lab\n"
expect "Password\: "
send "lab\n"
sleep 10
expect -re "RP\/.\/.*\/CPU.:$hostcut.*#"
send "debug ospf ospf1 adj\n"
expect -re "RP\/.\/.*\/CPU.:$hostcut.*#"
send "admin show platform\n"
expect -re "RP\/.\/.*\/CPU.:$hostcut.*#"
send "admin show platform\n"
expect -re "RP\/.\/.*\/CPU.:$hostcut.*#"
send "admin show platform\n"
感谢詹姆斯..我用exp_internal 1个选项,但因为我想有点新期望,我没有太多了解'exp_internal 1'生成的日志..是的,我正在使用Cisco IOS XR。 'admin show platform'命令实际上转到路由器的管理模式并执行'sh platform'...关于(**)我不知道为什么这显示在我上面的查询中...在路由器中,此符号不显示。这可能是由于在stackoverflow格式化...反正这**不是输出的一部分。 – user2878235
嗯......我明白了。这双星号的东西很奇怪。无论如何,如果你想编辑你的问题来包含'exp_internal 1'输出,我很乐意看一看。 – James