我想创建一个期望脚本,通过telnet连接到服务器并进行一些授权。我有使用脚本参数的问题。基于男人,我希望这可以工作:
#!/usr/bin/expect -f
spawn telnet $argv1 5038
...
不幸的是我回来了can't read "argv1": no such variable
。如何使这项工作?
答案 0 :(得分:5)
Commmand行参数作为变量argv中的列表提供,您可以使用lindex从此列表中获取元素,因此如果第一个参数是telnet的主机,请执行:
spawn telnet [lindex $argv 0] 5038
答案 1 :(得分:4)
$argv
是一个包含命令行参数的Tcl列表,索引从0开始。你想要:
[lindex $argv 0]
答案 2 :(得分:0)
当我尝试在proc中使用$ argv0时,我遇到了类似的错误$::argv0
。解决方案是使用i
从全局命名空间显式访问它。