gpt4 book ai didi

linux - 最后期望的指令没有执行

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:45:36 25 4
gpt4 key购买 nike

我正在编写一个脚本,使用 expect 命令自动执行 IOS Cisco 路由器上的指令。

这是我写的脚本:

#!/bin/expect
#log_user 0
set timeout 60

set mode [lindex $argv 0]
spawn ssh myuser@10.0.0.254


expect "*assword:" {
send "mypassword\r"
}

expect "*>" {
send "enable \r"
}

expect "*#" {
send "conf t \r"
}

expect "*(config)" {
send "interface Serial0/0/0 \r"
send "clock rate 14400\r"
}

我的问题是,此脚本停在“router1(config)#”状态。但是,如果我在脚本末尾放置一个 interact 命令,所有这些都可以正常工作。用户正确进入接口(interface)配置模式,时钟速率更新良好。但事实是,我不希望用户进行交互。

所以我真的不明白发生了什么,为什么我不能就这样结束脚本......

如果你有任何线索......?

最佳答案

我终于设法自己解决了我的问题。

这有点作弊,但......很好用。

鉴于这是最后一个不起作用的 expect 命令,我在脚本末尾添加了最后一个“无用的期望”:

expect "*(config)" {
send "interface Serial0/0/0 \r"
}
expect "*(config-if)" {
send "clock rate 14400\r"
}
expect "*(config-if)" {
send "end"
close
}

无论如何,如果有人有合适的方法去做,我仍然开放

关于linux - 最后期望的指令没有执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37549587/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com