使用 TCL 向 Telnet 发送参数

Sending a parameter to Telnet using TCL

我正在尝试使用 TCL 创建脚本以通过 telnet 配置路由器。 但我无法将参数传递给 telent 。 我需要的命令看起来像:"Bandwidth 10 10" 一 = 10。 发送时

带宽 10 10 - 一切正常 但是在发送 Bandwidth $a $a 时 - 表示无效命令。

我试过的是:

'Bandwidth $a $a' - 在这种情况下,我确实看到了 10 10 ,但它无法将带宽识别为命令。

其他情况如: {带宽 '$a $a') || {带宽 '$a' '$a'} || {带宽 $a $a} || {带宽 [ expr ($a) expr ($a)] 对我不起作用。

这是代码:

activate_commands_via_telnet $RouterWanIP [list {bandwidth '$a $a'} {exit}] 

你试过这样做吗?

activate_commands_via_telnet $RouterWanIP [list "bandwidth $a $a" {exit}] 

双引号允许 Tcl 替换其中 a 变量的值。