Tclインタープリタのためのシンプルなシェル。?解説Tclshは標準入力もしくはファイルからのTclコマンドを読み込み、それらを評価するシェル似のアプリケーションです。Tcldhはexitが呼び出されるか標準入力のファイル末尾につくまで実行します。ユーザーのホームディレクトリに存在する場合、tclshは標準入力から最初のコマンドを読み取る前にこのファイルをTclスクリプトとして評価します。スクリプトファイルtclshが引数付きで実行される場合、最初の引数はスクリプトファイル名です。tclshのコマンドは標準入力から読み取る代りに、指定されたファイルからTclコマンドを読み取ります。ファイルのエンドに達するときにtclshは終了します。sourceでインクルードすればよいです。最初の行は下記内容でTclスクリプトファイルを作成したとします#!/usr/local/bin/tclshそして、このファイルを実行可能に設定すれば、直接、自分のシェルからスクリプトファイルを呼び出すことができます。これはtclshが/usr/local/binにおけるデフォルトロケーションにインストールされたと仮定した場合です。tclshがどこか他の場所にインストールされた場合、対応した内容に前述のラインを修正しなければなりません。多くのUNIXシステムは#!ラインに長さ約30文字を越えるのを許さないので、tclsh実行可能ファイルは短いファイル名によってアクセスできることを確認しましょう。スクリプトファイルを次の3行で始めることは更に良いアプローチです。"$@"このアプローチには前のアプローチと比べると3つの利点があります。最初にtclshバイナリのロケーションがスクリプトに固定で定義される必要はありません。それはシェル検索パスのどこにあってもよいです。2番目に前のアプローチにおける30文字ファイル名限界を突破できます。多重アーキテクチャ、または、マルチオペレーティングシステムを扱うためにシステム上で行われます。tclshスクリプトがバイナリのうちの1つを選択して実行させます)。この3行はスクリプトを処理するためにshとtclsh双方共使います。execはshだけにより実行されます。shは最初にスクリプトを処理します。それは、第2のラインをコメントとして扱い、そして第3のラインを実行します。execステートメントはshellの処理を止め、その代りに全体のスクリプトを再処理するためのtclshを始めます。tclshがスタートしたら3行全てをコメントとして扱います。第2のラインの終りのバックスラッシュによって第3のラインを第2のラインに関するコメントの一部として扱われます。注目すべきは、バージョン番号を名前の一部としてtclshをインストールするのが一般的な方法です。これは、ただちに同じシステムでTclの多重バージョンを共存させることができる利点を持ちます。変数Tclshは次のTcl変数を設定します。arg引数がなければ空の文字列です。argv0指定されればfileNameで指定されなければtclshをコールした側の名前を示します。)で実行されていれば1で、別の方法で実行していれば0です。プロンプトtclshが対話式で実行していれば、通常「%」によって各コマンドを促します。変数tcl_prompt1、及びtcl_prompt2をセットすることによってプロンプトを変えられます。変数tcl_prompt1が存在すればプロンプトを出力するためのTclスクリプトでなければなりません。既定プロンプトを出力する代りにtclshはtcl_prompt1にあるスクリプトを評価します。newlineがタイプされたが、現在のコマンドがまだ完全ではないとき、変数tcl_prompt2は同様の方法で使われます。tcl_prompt2がセットされていなければ、不完全なコマンドのためのプロンプトは出力されません。Tcl_StandardChannelsをご参照下さい。