如何禁用修改后的tclsh解释器交互模式?

如何禁用修改后的tclsh解释器交互模式?,tcl,interpreter,interactive-mode,tclsh,Tcl,Interpreter,Interactive Mode,Tclsh,在没有任何tcl文件的情况下运行tclsh命令,解释器将进入交互模式 我可以通过修改tclsh源代码来禁用此功能吗?我无法想象您为什么要这么做,因为提供任何脚本文件都会关闭交互模式。您提供的脚本可以完全访问传入的附加参数(全局argv变量中的列表)和标准IO通道(stdin、stdout和stderr)。完成后,它可以退出。从字面上说,你想做的任何事情都可以在那一点上完成;你只需要写一个脚本就可以了 如果您在自己的程序中包括Tcl,那么tclsh的行为将在C函数Tcl\u Main中实现。如果您

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


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

我无法想象您为什么要这么做,因为提供任何脚本文件都会关闭交互模式。您提供的脚本可以完全访问传入的附加参数(全局
argv
变量中的列表)和标准IO通道(
stdin
stdout
stderr
)。完成后,它可以退出。从字面上说,你想做的任何事情都可以在那一点上完成;你只需要写一个脚本就可以了

如果您在自己的程序中包括Tcl,那么
tclsh
的行为将在C函数
Tcl\u Main
中实现。如果您从不调用它,而只是使用
Tcl\u FindExecutable
Tcl\u CreateInterp
Tcl\u Eval
/
Tcl\u EvalFile
,那么您永远不会得到任何交互行为。虽然从理论上讲,您可以修改Tcl源代码本身来做您想做的事情—它都是开源的—但当您不能首先调用该代码时,为什么还要麻烦呢