【发布时间】:2013-06-19 08:40:31
【问题描述】:
在没有任何 tcl 文件的情况下运行 tclsh 命令,解释器将进入交互模式。
我可以通过修改 tclsh 源代码来简单地禁用此功能吗?
【问题讨论】:
标签: tcl interpreter interactive-mode tclsh
在没有任何 tcl 文件的情况下运行 tclsh 命令,解释器将进入交互模式。
我可以通过修改 tclsh 源代码来简单地禁用此功能吗?
【问题讨论】:
标签: tcl interpreter interactive-mode tclsh
鉴于提供 any 脚本文件将关闭交互模式,我无法想象您为什么要费心这样做。您提供的脚本将可以完全访问传入的附加参数(全局 argv 变量中的列表)和标准 IO 通道(stdin、stdout 和 stderr)。完成后可以exit。从字面上看,您想要的任何事情都可以在那时完成;您只需要编写一个脚本即可。
如果您在自己的程序中包含 Tcl,tclsh 的行为在 C 函数 Tcl_Main 中实现。如果你从不调用它——而只是使用Tcl_FindExecutable、Tcl_CreateInterp 和Tcl_Eval/Tcl_EvalFile——那么你永远不会得到任何那种交互行为。虽然理论上你可以修改 Tcl 源代码本身来做你想做的事——它都是开源的——当你一开始就不调用那个代码时你为什么还要麻烦呢?
【讨论】: