我正在做一个项目,我想使用 TCL 作为命令解释器。我有一个工作的 c 库对象,我可以从 tcl shell 中加载它,但我的问题是找到一种在启动 tclsh 时自动执行此操作的方法。
本质上,我的最终目标是能够运行脚本并让它加载我的库并运行一些初始启动 tcl 代码,然后以交互模式将我拉回 tclsh 命令提示符。
例如
tclsh -f myscript.tcl --then-switch-to-interactive
或者
EXPORT TCLINIT=myscript.tcl
tclsh
基本目标是避免分发 tclsh 而是依赖于本地用户安装的 tcl。我想要分发的只是我的库、一个启动脚本和一个 shell 命令,用于启动预加载库的 tclsh。
我试过使用环境变量TCLINIT
,TCL_LIBRARY
但它们似乎没有效果。
到目前为止,我发现的唯一可行的解决方案是将“source myscript.tcl”添加/usr/share/tcltk/tcl8.5.init.tcl
到~/.tclshrc
然而,这两个“解决方案”都不是完美的,因为它们需要修改默认用户工作区。
让我感到震惊的是,在 TCL 中必须有一种方法来处理这个问题,但我的研究到目前为止还没有产生任何结果。
有没有人有什么建议?