Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我想创建一个期望脚本,通过 telnet 连接到服务器并进行一些授权。不过,我在使用脚本参数时遇到了问题。基于 man 我希望这会起作用:
#!/usr/bin/expect -f spawn telnet $argv1 5038 ...
不幸的是我回来了can't read "argv1": no such variable。如何使这项工作?
can't read "argv1": no such variable
命令行参数作为变量 argv 中的列表提供,您可以使用 lindex 从该列表中获取元素,因此如果第一个参数是要远程登录的主机,请执行以下操作:
spawn telnet [lindex $argv 0] 5038
请参阅Shell 中的Shell提供的变量和列表中的lindex
$argv是一个包含命令行参数的 Tcl 列表,索引从 0 开始。你想要:
$argv
[lindex $argv 0]
can't read "argv0": no such variable当我尝试在 proc 中使用 $argv0 时,我遇到了类似的错误。解决方案是通过使用从全局命名空间显式访问它$::argv0。
can't read "argv0": no such variable
$::argv0