我已经与 TCL 合作了一段时间,我花了很长时间尝试执行以下操作(这似乎很容易,我认为应该是这样,但我无法做到):
我需要通过 tcl 脚本执行外部程序。为此,我使用 exec
命令。为了使用这个外部程序,我需要输入可变数量的文件。如果我直接从 cmd 窗口调用这个程序,它会是这样的:
C:\>myprogram -i file1 -i file2 -i file3 (etc., etc.)
但是,当尝试通过 tcl 以动态/可变方式实现这一点时,我遇到了麻烦。我这样做的方法是将我需要的所有“
-i filex
”存储在某个变量 myvar 中(在循环中完成),然后将其作为参数传递给 exec
命令。它看起来像:exec myprogram $myvar
这样做显然会产生一些问题,因为这个 myprogram 无法“看到”myvar。我猜测存在某种隐藏的终止符或不同类型参数的一些冲突,这使得 exec 命令最终“看到”只有 myprogram。
所以,我的问题是,有没有人知道如何在对
exec
的调用中插入变量参数? ?
最佳答案
您可以使用 {*} 或 评估 .见 this question例如。
关于variables - 如何在 tcl 中向 exec 添加可变数量的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8535719/