0

我正在从当前脚本调用脚本(tclscript),看到这个“无效的命令名错误”,tcl 脚本只是检查是否安装了正确版本的包。

#!/bin/tclsh
# i am doing this for multiple packages in a loop
set list {/usr/local/script}
lappend list -check
lappend list -package
lappend list tcl-devel
lappend list version

[eval exec $list]

输出:

invalid command name "
checking the version [ ok ] #expected output
-checks successful!         #expected output
"
    while executing
"[eval exec $list]"

不明白为什么我得到这个“无效的命令名错误”任何人都可以帮忙

4

1 回答 1

0

问题是您已经成功运行了命令,得到了结果,然后尝试将这些结果用作命令的名称,因为[]eval exec. 要么删除括号,要么在它们前面放一个命令名称,以便将结果用作参数。

set list …
# Leaving out the details of how you build the list

eval exec $list
set list …
# Leaving out the details of how you build the list

set result [eval exec $list]
puts "result is \"$result\""
于 2017-01-12T09:40:43.650 回答