ターミナル・スクリプトの使用法
この章では、ターミナルでスクリプト・ファイルを作成して使用する方法について説明します。
また、次の章 “スクリプト・コマンドのリファレンス”、および “ターミナル使用に関するその他のトピック” の章の “学習モード” のセクションも参照してください。
Note:
ターミナル・スクリプトが役立つ場合もありますが、通常はルーチンを作成して使用する方が (各ルーチン・プログラミング言語が非常に豊富なオプション・セットを提供しているので) はるかに簡単です。
ユーザ環境変数および共有ドライブ文字の指定は、InterSystems IRIS コントロール・サービスを実行するユーザ・アカウントによって定義されます。
スクリプトの実行の開始
通常、スクリプト・ファイル (既定の拡張子は .scr) は作業ディレクトリにありますが、任意の場所に配置可能です。
スクリプトを実行するには、[ファイル]→[スクリプト] を選択するか、Alt-S を押します。Windows の標準的なファイル検索ボックスが表示され、そこでスクリプトを選択します。
コマンド行の引数としてスクリプトが指定されている場合は、コマンド・モードをロックしているスイッチがなければスクリプトが直ちに開始され、スイッチがあればホスト接続が確立されるまで開始が延期されます。
Note:
通信オプションをシングル・モードに編集することは、ターミナルをシングル・オプションにロックすることと同じです。したがって、スクリプト・ファイルの起動はホスト接続の確立後まで延期されます。
スクリプトの実行の一時停止
スクリプトの実行を停止するには、[ファイル]→[一時停止] を選択するか、Alt-P を押します。現在のスクリプトを一時停止することを確認するプロンプトが表示されます。
スクリプトの実行の停止
スクリプトを停止するには、[ファイル]→[スクリプト] を選択するか、Alt-S を押します。現在のスクリプトを停止することを確認するプロンプトが表示されます。
スクリプト・コマンドの概要
次のテーブルは、使用可能なスクリプト・コマンドの一覧です。
ターミナル・スクリプト・コマンド
これらのコマンドのリファレンス情報は、後述の “スクリプト・コマンドのリファレンス” を参照してください。
スクリプト・コマンドの引数
引数の前後のスペースおよびタブは、すべて無視されます。
数値引数は、すべて整数値です。必須の数値引数が指定されていない場合は、既定で 0 になります。また、OFF は 0 と同等で、ON は 1 と同等です。
文字列は、コマンドの後に続く行上の個々のデータを連結したものにすぎません (先頭と末尾の空白は除く)。引用符は必要ありません。また、次のコマンド行を使用することで、パラメータ置換が実行されます。
<P1>, <P2>, ..., <Pn>
これで、<Pn> が、n 番目のコマンド行パラメータに置換されます。
操作を簡略化するために、特定の ASCII 文字には、この後のテーブルに示す同等のショートカット表記が用意されています。
Note:
NUL (000) 以外のすべての ASCII (拡張) 文字は、<ddd> によって生成できます。ddd はその文字を表す 10 進数値です。
特殊文字
文字 |
解釈 |
送信シーケンス |
<CR> |
キャリッジ・リターン |
<13> |
<F10> |
F10 キー |
<27>[21- |
<F7> |
F7 キー |
<27>[18- |
<DO> |
Do キー |
<27>[29- |
<TAB> |
Tab キー |
<9> |
<LF> |
改行 |
<10> |
<ESC> |
Esc キー |
<27> |
<DCS> |
デバイス制御文字列の接頭部 |
<144> |
<ST> |
デバイス制御文字列の終了 |
<156> |
<EMU> |
拡張エミュレータ・コマンドの開始 |
<144>i |
<NL> |
新規行 |
<CR><LF> |
<CSI> |
制御文字列の接頭部 |
<155> |
スクリプト例
以下は、ターミナル・スクリプトのサンプルです。
; initialization -- turn match off to make comparisons more lenient
case match: off
; wait for the terminal to initialize and ask for our identification
echo: off
wait for:Username
send: SYS<CR>
wait for:Password
send: XXX<CR>
title: Terminal Example
echo: on
; log everything in a log
logfile: C:\TermExample.log
; wait a second
pause:10
; display a header to let the user know we are ready
; you need <CR><LF> because "display" does not
; have a prompt to advance to another line
display:<CR><LF>
display:------------------------------<CR><LF>
display:<<< Terminal Example >>><CR><LF>
display:------------------------------<CR><LF>
; wait a second
pause:10
; switch to the USER namespace
send: set $namespace="USER"<CR>
wait for:USER>
; display some basic information about the system
; Use the debugging routine to do so
send: Do ^%STACK<CR>
wait for: action:
; have it outline our options
send: ?<CR>
wait for: action:
; wait 5 seconds for user to absorb
pause: 50
; ask for the basic process info
send: *s
pause: 50
send: <CR>
wait for: action:
; wait another 10 seconds
pause: 100
; finish the session
send: <CR>
; close the log file
closelog
; finished
terminate