首页 > 解决方案 > 如何通过另一个脚本调用一个 tcl 脚本并传递参数?

问题描述

我想在另一个内部调用一个 TCL 脚本?我尝试了以下命令:

exec tclsh print.tcl

print.tcl 里面写着:

puts "Second script"

该程序运行没有任何错误,但不显示任何输出。

怎么了?

标签: scriptingcommandtclexecputs

解决方案


该值将通过以下方式获得:

set output [exec tclsh print.tcl]
puts "The output was: $output"

如果你想让它直接发送给用户,你需要做一些重定向:

exec tclsh print.tcl >@stdout

甚至可能是这个(如果脚本打印出您不想捕获的错误):

exec tclsh print.tcl >@stdout 2>@stderr

在 POSIX 系统(即,不是 Windows)上,您甚至可以将输出发送给用户同时在调用脚本中捕获它:

set output [exec tclsh print.tcl | tee /dev/tty]
puts "The output was: $output"

推荐阅读