スレッドを介して生成プロセスを処理しようとしていますが、「無効なコマンド」というエラーがスローされます。しかし、スレッドがなくても問題なく動作します。
set listner [thread::create {
package require Expect
proc router_config {s filename} {
set command_router "{Password: } {abc@123\r}
{Router>} {en\r}
{Password: } {abc@123\r}"
spawn telnet 1.1.1.1
foreach {exp_prompt send_cmd} $command_router {
expect "$exp_prompt"
exp_send "$send_cmd"
}
return 1
}
[thread::wait]
}]
set commandString "xyz"
eval [subst {thread::send -async $listner \
{router_config 0 [list $commandString ]}}]
puts "--------->> releasing thread [thread::id] [thread::release]"
exit 0
を処理する方法を提案してください。