Я получаю сообщение об ошибке «can't set "::exp::winnt_debug": parent namespace doesn't exist
», когда я пытаюсь запустить сценарий ожидания, используя реализацию C для интерпретатора ожидающих ожиданий в Windows (expect543.dll
). Однако тот же скрипт работает отлично, если я запустить его с помощью команды ActiveState tclsh ...exp :: winnt_debug parent namespace error
Заявление «set ::exp::winnt_debug 1
» в сценарии является причиной ошибки. Любая идея, какова может быть причина и как ее решить?
Вы можете найти код ниже
package require Expect
set ::exp::winnt_debug 1
set prompt "R4#"
set more " --More--"
expect -timeout 10 "$prompt"
set output [open result.txt "w"]
set running 1
spawn plink -telnet "144.21.12.45" -P 2004
send "enable\r"
send "\r"
send "show running-config\r"
send "\r"
while { $running > 0 } {
expect {
"\n" { puts -nonewline $output "$expect_out(buffer)" }
"$more" {send " "}
"lines *-* " { send " " }
#"$prompt" { set running 0 }
eof { set running 0 }
timeout { set running 0 }
}
}
puts "output is .."
Как вы активируете код ожидания? 'package require'? 'Load'? –
Я активировал его, используя команду «package require expect». Добавьте код для справки. –