コマンドインタープリターとしてTCLを利用したいプロジェクトに取り組んでいます。tclシェル内からロードできる作業中のcライブラリオブジェクトがありますが、私の問題は、tclshの起動中にこれを自動的に行う方法を見つけることです。
基本的に、私の最終的な目標は、スクリプトを実行してライブラリをロードし、初期起動tclコードを実行してから、インタラクティブモードでtclshコマンドプロンプトに戻ることです。
例えば
tclsh -f myscript.tcl --then-switch-to-interactive
また
EXPORT TCLINIT=myscript.tcl
tclsh
基本的な目標は、tclshを配布する必要をなくし、tclのローカルユーザーインストールに依存することです。配布したいのは、ライブラリ、起動スクリプト、およびライブラリがプリロードされた状態でtclshを起動するためのシェルコマンドだけです。
環境変数を使ってみましTCLINIT
たTCL_LIBRARY
が、効果がないようです。
/usr/share/tcltk/tcl8.5.init.tcl
私がこれまでに見つけた唯一の実行可能な解決策は、またはの最後に「sourcemyscript.tcl」を追加することです。~/.tclshrc
ただし、これらの「ソリューション」はどちらも、デフォルトのユーザーワークスペースを変更する必要があるため、完全ではありません。
TCLでこれを処理する方法があるはずだと私は思いますが、これまでの私の研究では何も得られていません。
誰か提案はありますか?