0

在没有任何 tcl 文件的情况下运行tclsh命令,解释器将进入交互模式。

我可以通过修改 tclsh 源代码来简单地禁用此功能吗?

4

1 回答 1

0

鉴于提供任何脚本文件都会关闭交互模式,我无法想象你为什么要费心这样做。您提供的脚本将可以完全访问传入的附加参数(全局argv变量中的列表)和标准 IO 通道(stdinstdoutstderr。完成后就可以exit了。从字面上看,您想要的任何事情都可以在那时完成;你只需要编写一个脚本来完成它。

如果您在自己的程序中包含 Tcl,则 的行为tclsh在 C 函数中实现Tcl_Main。如果你从不调用它——而只是使用Tcl_FindExecutable,Tcl_CreateInterpTcl_Eval/ Tcl_EvalFile——那么你永远不会得到任何交互行为。虽然理论上你可以修改 Tcl 源代码本身来做你想做的事——它都是开源的——当你一开始就不能调用那个代码时,你为什么还要费心呢?

于 2014-06-10T10:49:20.460 回答