TSスクリプトは、
実行環境TS
及び、
コマンドTSC
、
TSCALL
などで使用するスクリプトである。
スクリプトは、コマンド行、継続行、内部コマンド行、ラベル行、注釈行からなる。 継続行を除き、いずれの場合も行頭の空白は取り除いて処理する。
+
で始まる行)である場合は、以降の継続行を接続して一行として扱い、実行する。
コマンドラインではコマンドのパイプライン接続(|
)、
入出力のリダイレクト(<
、>
、>>
)機能を提供している。
詳細はここを参照のこと。
+
がある行。行の先頭にスペースを書かずに+
が必要である。+
の次の文字以降が直接つながるので、
先行行の最後の文字と継続行の間を区切るためには、+
の後ろにスペースを挟む必要がある。
これは、行末から次ぎの行に掛けての長いパラメータなどを入力するために決定した仕様である。
_TXT
_DO
_
で始まる内部コマンドを記述する。_
で始まり、内部コマンドで無い行は、終了コマンドとして機能し、
実行を終了する。戻り値は現在の戻り値である。_TXT
、_DO
以外の内部コマンド行に対しては接続されないことに注意。
:
で始まる。:
ではじまり、半角英数字、漢字、_
でなるものをラベルとして扱い、
内部コマンドで分岐先として使用する。;
で始まる。スクリプトでは以下の内部コマンドを使用できる。
_CD dirname | ||||||||||||||||||||||||||||||||||||||||||
ディレクトリを切替える。
切替えることが出来ない場合は、エラーを表示して、実行を直ちに終了する。 dirnameは ! 記述、@ 、^ 記述が可能。
| ||||||||||||||||||||||||||||||||||||||||||
_END [ReturnCode]
| ||||||||||||||||||||||||||||||||||||||||||
この行で実行を終了する。 ReturnCode(戻り値)は自然数。 ReturnCodeを記述しないと、現在のReturnCodeを返す。 ReturnCodeは ! 記述、@ 、^ 記述が可能。
| ||||||||||||||||||||||||||||||||||||||||||
_ENV envname [value]
| ||||||||||||||||||||||||||||||||||||||||||
環境変数をセットする。
valueを省略すると指定の環境変数をクリアする。 envname、valueは ! 記述、@ 、^ 記述が可能。
| ||||||||||||||||||||||||||||||||||||||||||
_VAR envname 式
| ||||||||||||||||||||||||||||||||||||||||||
TSEXPR の式を計算し、環境変数にセットする。
式の計算結果が、長さ0の文字列ならば、環境変数はクリアされる。
式の型が数値の場合は、その値を表わす文字列を設定。
論理値の場合は、TRUE 、FALSE の文字列を設定する。
| ||||||||||||||||||||||||||||||||||||||||||
_TXT filename
| ||||||||||||||||||||||||||||||||||||||||||
以下に続く継続行を指定のファイルに出力する。 継続行の先頭の + 以降を行として出力する。
継続行が連続していれば、それらをすべて出力する。スクリプト内でコマンドに与えるパラメータやスクリプト、 あるいは初期データなどを記述する際に便利である。 filenameは ! 記述、@ 、^ 記述が可能。
| ||||||||||||||||||||||||||||||||||||||||||
_DO command_line
| ||||||||||||||||||||||||||||||||||||||||||
以下に続く継続行をコマンドラインの標準入力として実行する。 継続行の先頭の + 以降を行として入力する。
継続行が連続していれば、それらをすべて入力する。 | ||||||||||||||||||||||||||||||||||||||||||
_HERE command_line
| ||||||||||||||||||||||||||||||||||||||||||
このコマンドはきわめて特殊で、
以下に続く全ての行をコマンドラインの標準入力として実行する。 実行後スクリプトは必ず終了する。 通常は使用しない。 | ||||||||||||||||||||||||||||||||||||||||||
_GOTO :label
| ||||||||||||||||||||||||||||||||||||||||||
指定のラベルに移動する。ラベルはスクリプトの先頭から探索する。
従って、複数のラベルを記述すると最初のラベルが移動先となる。
ラベルが見つからない場合は、エラーを表示して、実行を直ちに終了する。 ラベルの先頭の : は省略できないことに注意すること。
| ||||||||||||||||||||||||||||||||||||||||||
_FOWARD :label
| ||||||||||||||||||||||||||||||||||||||||||
現在位置から後方(行番号の増える方向)へ探索し、最初に見つかったラベルへ分岐する。
ラベルが見つからない場合は、エラーを表示して、実行を直ちに終了する。 ラベルの先頭の : は省略できないことに注意すること。
| ||||||||||||||||||||||||||||||||||||||||||
_BACKWARD :label
| ||||||||||||||||||||||||||||||||||||||||||
現在位置から前方(行番号の減る方向)へ探索し、最初に見つかったラベルへ分岐する。
ラベルが見つからない場合は、エラーを表示して、実行を直ちに終了する。 ラベルの先頭の : は省略できないことに注意すること。
| ||||||||||||||||||||||||||||||||||||||||||
_IF 条件
{ END |
SKIP [行数]|
GOTO :label |
FORWARD :label |
BACKWARD :label }
| ||||||||||||||||||||||||||||||||||||||||||
条件が成立すると、サブコマンドを実行する。
サブコマンド
ラベルの先頭の : は省略できないことに注意すること。条件条件の記述法は三通り用意されている。
TSEXPRによる条件記述() で囲んだTSEXPR を評価する。戻り値は論理型であること TSFXPRによる条件記述{} で囲んだTSFXPR を評価する。戻り値は論理型であること 直接条件記述NOT は条件を反転する。条件要素は以下の通り。
| ||||||||||||||||||||||||||||||||||||||||||
_PATH path
| ||||||||||||||||||||||||||||||||||||||||||
パス(環境変数 PATH )を設定する。
pathは! 記述、@ 、^ 記述が可能。
| ||||||||||||||||||||||||||||||||||||||||||
_ADDPATH {path}*
| ||||||||||||||||||||||||||||||||||||||||||
パス(環境変数 PATH )を追加する。
pathは一つ以上書く。pathが既に存在すれば追加しない。
pathは! 記述、@ 、^ 記述が可能。
| ||||||||||||||||||||||||||||||||||||||||||
_RESULT
| ||||||||||||||||||||||||||||||||||||||||||
現在の戻り値を環境変数 TS_RESULT に設定する。
この値は、現在のスクリプトより上位からは見ることが出来ない。
|
!
記述、@
記述、^
記述が可能となっている。