13.07.2015 Views

Caché ターミナルの使用法

Caché ターミナルの使用法

Caché ターミナルの使用法

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Caché</strong> ターミナルの 使 用 法Version 2013.12013 年 07 月 02 日InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com


<strong>Caché</strong> ターミナルの 使 用 法<strong>Caché</strong> Version 2013.1 2013 年 07 月 02 日Copyright © 2012 InterSystems CorporationAll rights reserved.このドキュメントは、 Sun Microsystems、RenderX Inc.、 アドビ システムズ および ワールドワイド・ウェブ・コンソーシアム(www.w3c.org)のツールと情 報 を 使 用 して、 Adobe Portable Document Format (PDF)で 作 成 およびフォーマットされました。 主 要 ドキュメント 開 発 ツールは、InterSystemsが 構築 したCacheéと Javaを 使 用 した 特 別 目 的 のXML 処 理 アプリケーションです。, ,<strong>Caché</strong> WEBLINK, Distributed Cache Protocol, M/SQL, M/NET および M/PACT は InterSystems Corporation の 登 録 商 標 です。, , and ,InterSystems TrakCare, InterSystems Jalapeño Technology, Enterprise Cache Protocol, ECP および InterSystems Zen は InterSystems Corporation の登 録 商 標 です。ここで 使 われている 他 の 全 てのブランドまたは 製 品 名 は、 各 社 および 各 組 織 の 商 標 または 登 録 商 標 です。このドキュメントは、インターシステムズ 社 ( 住 所 :One Memorial Drive, Cambridge, MA 02142)あるいはその 子 会 社 が 所 有 する 企 業 秘 密 および 秘 密情 報 を 含 んでおり、インターシステムズ 社 の 製 品 を 稼 動 および 維 持 するためにのみ 提 供 される。この 発 行 物 のいかなる 部 分 も 他 の 目 的 のために 使用 してはならない。また、インターシステムズ 社 の 書 面 による 事 前 の 同 意 がない 限 り、 本 発 行 物 を、いかなる 形 式 、いかなる 手 段 で、その 全 てまたは一 部 を、 再 発 行 、 複 製 、 開 示 、 送 付 、 検 索 可 能 なシステムへの 保 存 、あるいは 人 またはコンピュータ 言 語 への 翻 訳 はしてはならない。かかるプログラムと 関 連 ドキュメントについて 書 かれているインターシステムズ 社 の 標 準 ライセンス 契 約 に 記 載 されている 範 囲 を 除 き、ここに 記 載 された 本 ドキュメントとソフトウェアプログラムの 複 製 、 使 用 、 廃 棄 は 禁 じられている。インターシステムズ 社 は、ソフトウェアライセンス 契 約 に 記 載 されている 事 項 以 外 にかかるソフトウェアプログラムに 関 する 説 明 と 保 証 をするものではない。さらに、かかるソフトウェアに 関 する、あるいはかかるソフトウェアの 使 用 から 起 こるいかなる 損 失 、 損 害 に 対 するインターシステムズ 社 の 責 任 は、ソフトウェアライセンス 契 約 にある 事 項 に 制 限 される。前 述 は、そのコンピュータソフトウェアの 使 用 およびそれによって 起 こるインターシステムズ 社 の 責 任 の 範 囲 、 制 限 に 関 する 一 般 的 な 概 略 である。 完全 な 参 照 情 報 は、インターシステムズ 社 の 標 準 ライセンス 契 約 に 記 され、そのコピーは 要 望 によって 入 手 することができる。インターシステムズ 社 は、 本 ドキュメントにある 誤 りに 対 する 責 任 を 放 棄 する。また、インターシステムズ 社 は、 独 自 の 裁 量 にて 事 前 通 知 なしに、 本 ドキュメントに 記 載 された 製 品 および 実 行 に 対 する 代 替 と 変 更 を 行 う 権 利 を 有 する。インターシステムズ 社 の 製 品 に 関 するサポートやご 質 問 は、 以 下 にお 問 い 合 わせください:Tel:Fax:Email:InterSystems Worldwide Customer Support+1 617 621-0700+1 617 374-9391support@InterSystems.com


目 次このドキュメントについて ................................................................................................... 11 <strong>Caché</strong> ターミナルの 概 要 ................................................................................................ 31.1 ターミナルの 起 動 ................................................................................................. 41.2 背 景 .................................................................................................................. 41.3 一 般 的 な 使 用 ..................................................................................................... 51.4 ZWELCOME ルーチン ......................................................................................... 51.5 実 行 開 始 ネームスペース ....................................................................................... 61.5.1 ネームスペースの 変 更 ................................................................................. 61.6 ターミナル・プロンプト ........................................................................................... 61.6.1 トランザクション・レベル ................................................................................. 61.6.2 プログラム・スタック・レベル ............................................................................ 71.6.3 TSQL シェル .............................................................................................. 71.6.4 MV シェル .................................................................................................. 71.6.5 オペレーティング・システム・シェル ................................................................. 71.7 ターミナルでの 実 行 の 中 断 .................................................................................... 81.8 ターミナルの 終 了 ................................................................................................. 82 ターミナルのインタラクティブな 使 用 法 .............................................................................. 92.1 スクロール ........................................................................................................... 92.2 ターミナルのスクロールの 一 時 停 止 と 再 開 .............................................................. 102.3 前 のコマンドの 繰 り 返 し ........................................................................................ 102.4 テキストのコピーと 貼 り 付 け ................................................................................... 102.4.1 キーボードによるショートカット ...................................................................... 102.4.2 コピーと 貼 り 付 けに 関 する 注 記 ..................................................................... 112.5 印 刷 ................................................................................................................. 112.6 画 面 のクリア ...................................................................................................... 112.7 ターミナル・セッションのログへの 記 録 .................................................................... 112.7.1 ターミナル・ロギングに 関 するメモ .................................................................. 123 ターミナルの 外 観 および 動 作 の 制 御 .............................................................................. 133.1 フォントの 指 定 ................................................................................................... 133.2 色 の 指 定 .......................................................................................................... 133.3 ウィンドウ・サイズの 指 定 ....................................................................................... 143.4 カスタム・キーの 組 み 合 わせの 定 義 ....................................................................... 143.5 その 他 のユーザ 設 定 の 指 定 ................................................................................. 153.6 ネットワーク・エンコードの 指 定 .............................................................................. 153.6.1 UTF8 エンコード ........................................................................................ 163.6.2 Windows エンコード .................................................................................... 163.6.3 ISO エンコード .......................................................................................... 163.6.4 EUC エンコード ......................................................................................... 173.7 表 示 の 物 理 文 字 設 定 の 指 定 ................................................................................ 174 ターミナル・スクリプトの 使 用 法 ....................................................................................... 194.1 スクリプトの 実 行 の 開 始 ........................................................................................ 194.2 スクリプトの 実 行 の 一 時 停 止 ................................................................................. 204.3 スクリプトの 実 行 の 停 止 ........................................................................................ 204.4 スクリプト・ファイルのコンテンツ ............................................................................. 204.5 スクリプト・コマンドの 概 要 ..................................................................................... 20<strong>Caché</strong> ターミナルの 使 用 法iii


4.6 スクリプト・コマンドの 引 数 ..................................................................................... 214.7 スクリプト 例 ........................................................................................................ 225 スクリプト・コマンドのリファレンス .................................................................................... 255.1 break ................................................................................................................ 255.2 call script .......................................................................................................... 255.3 case match ........................................................................................................ 255.4 closelog ............................................................................................................ 265.5 connect ............................................................................................................ 265.6 debug ............................................................................................................... 265.7 disconnect ......................................................................................................... 265.8 display .............................................................................................................. 265.9 echo ................................................................................................................. 265.10 execute ........................................................................................................... 275.11 exit ................................................................................................................ 275.12 goto ................................................................................................................ 275.13 if empty ........................................................................................................... 285.14 key_starttime .................................................................................................... 285.15 key_stoptime .................................................................................................... 285.16 key_timer ......................................................................................................... 285.17 logfile .............................................................................................................. 295.18 multiwait for ..................................................................................................... 295.19 notify .............................................................................................................. 295.20 on error .......................................................................................................... 305.21 pause .............................................................................................................. 305.22 return ............................................................................................................. 305.23 send ............................................................................................................... 305.24 subroutine ....................................................................................................... 315.25 terminate ......................................................................................................... 315.26 test ................................................................................................................ 315.27 timer ............................................................................................................... 325.28 title ................................................................................................................ 325.29 wait for ........................................................................................................... 326 リモート・ホストへの 接 続 ............................................................................................... 356.1 例 .................................................................................................................... 357 バッチ・モードでのターミナルの 使 用 法 ........................................................................... 377.1 Windows でのエスケープ 文 字 .............................................................................. 377.2 バッチ・コマンド 行 ............................................................................................... 387.3 制 御 引 数 .......................................................................................................... 387.3.1 /console= .......................................................................... 387.3.2 /server= ............................................................................... 397.3.3 /size=RowsxCols ........................................................................................ 407.3.4 /pos=(X,Y) ............................................................................................... 407.3.5 /ppos=(Xpct,Ypct) ..................................................................................... 407.4 例 .................................................................................................................... 407.4.1 バッチ・モードでのスクリプトの 実 行 ............................................................... 407.4.2 スクリプトのインタラクティブな 実 行 ................................................................. 408 その 他 のトピック .......................................................................................................... 438.1 拡 張 キーボードのマッピング ................................................................................. 438.2 特 殊 モード ........................................................................................................ 44iv<strong>Caché</strong> ターミナルの 使 用 法


8.2.1 キーの 時 間 計 測 モード ............................................................................... 448.2.2 学 習 モード ............................................................................................... 448.3 DDE を 使 用 したターミナルの 使 用 法 ..................................................................... 448.3.1 DDE Layout 接 続 ...................................................................................... 458.3.2 DDE Screen 接 続 ...................................................................................... 458.3.3 DDE Message 接 続 .................................................................................... 45索 引 ............................................................................................................................ 47<strong>Caché</strong> ターミナルの 使 用 法v


テーブル 一 覧テーブル 2–1: キーボードを 使 用 したターミナル 表 示 のスクロール ........................................... 9テーブル 2–2: コピーおよび 貼 り 付 けのショートカット ............................................................ 10テーブル 3–1: ユーザ 設 定 .............................................................................................. 15テーブル 3–2: ISO エンコード .......................................................................................... 16テーブル 3–3: EUC エンコード ........................................................................................ 17テーブル 4–1: ターミナル・スクリプト・コマンド ..................................................................... 20テーブル 4–2: 特 殊 文 字 ................................................................................................. 22テーブル 7–1: オペレーティング・システムの 違 い ................................................................ 37テーブル 7–2: バッチ・モードでのターミナルの 起 動 ............................................................ 38テーブル 8–1: キー・マッピング ........................................................................................ 43テーブル 8–2: キーボード・マッピング ............................................................................... 44テーブル 8–3: DDE Layout 接 続 ..................................................................................... 45テーブル 8–4: DDE Screen 接 続 ...................................................................................... 45テーブル 8–5: DDE Message 接 続 ................................................................................... 46vi<strong>Caché</strong> ターミナルの 使 用 法


このドキュメントについてこのドキュメントでは、<strong>Caché</strong> のコマンド 行 インタフェースである、<strong>Caché</strong> ターミナルの 使 用 方 法 について 説 明 します。このドキュメントは、 以 下 の 章 で 構 成 されています。• <strong>Caché</strong> ターミナルの 概 要• ターミナルのインタラクティブな 使 用 法• ターミナルの 外 観 および 動 作 の 制 御• ターミナル・スクリプトの 使 用 法• スクリプト・コマンドのリファレンス• リモート・ホストへの 接 続• バッチ・モードでのターミナルの 使 用 法• その 他 のトピック詳 細 は、" 目 次 " を 参 照 してください。一 般 情 報 は、"InterSystems のドキュメントの 使 用 法 " を 参 照 してください。<strong>Caché</strong> ターミナルの 使 用 法 1


1<strong>Caché</strong> ターミナルの 概 要<strong>Caché</strong> ターミナルは、<strong>Caché</strong> コマンドを 入 力 したり 現 在 値 を 表 示 したりするためのシンプルなコマンド 行 インタフェースです。これは、 学 習 、 開 発 、およびデバッグのときに 有 用 です。以 下 の 項 目 について 説 明 します。• ターミナルの 起 動 方 法• ターミナルに 関 する 背 景 情 報• ターミナルの 使 用 目 的 の 概 要• ZWELCOME ルーチンの 概 要• ターミナルで 使 用 する 実 行 開 始 ネームスペースに 関 する 情 報• ターミナル・プロンプトおよび 表 示 される 可 能 性 がある 各 種 プロンプトに 関 する 情 報• ターミナルの 中 断 方 法• ターミナルの 終 了 方 法注 釈注 釈ターミナルに [スパイ・モードがオン] というメッセージが 示 されたダイアログ・ボックスが 表 示 された 場 合 、これは、Alt-Shift-s が 誤 って 押 されたことを 意 味 します。このモードを 終 了 するには、Alt-Shift-s をもう 一 度 押 します。このモードは、 一 般 的 には 使 用 されないため、ドキュメント 化 されていません。さらに、ターミナルが 応 答 しないように 見 える 場 合 は、Ctrl+s が 押 されていて、 自 動 スクロールが 一 時 停 止 されている 可 能 性 があります。その 場 合 は、Ctrl+q を 押 して 再 開 します。ローカルのターミナル 接 続 を 実 行 しているプロセス 内 の 環 境 変 数 は、 以 下 のように 使 用 できます。• Windows Vista より 前 は、<strong>Caché</strong> プロセスは、Windows にログインするユーザとして 実 行 され、ターミナル・プログラム (cterm.exe) を 実 行 していました。この 場 合 、すべての 環 境 変 数 および 共 有 ドライブ 文 字 の 指 定 は、ユーザによって 定 義 されます。• Windows Vista 以 降 (これには、Windows Vista、Windows Server 2008、Windows 7、および Windows の想 定 される 後 続 リリースすべてが 含 まれます)、ターミナル 接 続 を 処 理 する <strong>Caché</strong> プロセスは、<strong>Caché</strong> コントロール・サービスを 実 行 するユーザ・アカウントのコンテキストで 実 行 されます。この 場 合 、ユーザ 環 境 変 数 および 共 有 ドライブ 文 字 の 指 定 は、<strong>Caché</strong> コントロール・サービスを 実 行 するユーザ・アカウントによって 定 義 されます。<strong>Caché</strong> ターミナルの 使 用 法 3


<strong>Caché</strong> ターミナルの 概 要1.1 ターミナルの 起 動ターミナルをインタラクティブに、またはバッチ・モードで 使 用 できます。ターミナルをインタラクティブに 使 用 するには、 次 のいずれかを 実 行 します。• ローカル・データベースを 使 用 してターミナルで 作 業 するには、[InterSystems ランチャー] をクリックし、 次 に [ターミナル] をクリックします。• リモート・サーバ 上 のデータベースを 使 用 してターミナルで 作 業 するには、[InterSystems ランチャー] をクリックし、次 に [リモート・システム・アクセス]→[ターミナル] をクリックします。 次 にサーバ 名 をクリックします。または、[InterSystems ランチャー] をクリックし、[リモート・システム・アクセス]→[Telnet] をクリックします。ユーザ 名とパスワードを 使 用 して <strong>Caché</strong> システムにログオンします。詳 細 および 追 加 のオプションは、"<strong>Caché</strong> システム 管 理 ガイド" の “リモート・サーバへの 接 続 ” の 章 を 参 照 してください。いずれの 場 合 でも、ターミナル・ウィンドウが 表 示 されます。このウィンドウに 表 示 されるプロンプトは、 現 在 作 業 中 のネームスペースを 示 しています。 次 に 例 を 示 します。USER>バッチ・モードでは、 実 行 するスクリプト・ファイルの 名 前 をオペレーティング・システムのコマンド 行 に 渡 して、そこからターミナルを 起 動 します。このモードは、 一 部 のオペレーティング・システムでは 使 用 できません。1.2 背 景ターミナルは、<strong>Caché</strong> アプリケーションとのやり 取 りを 目 的 として 設 計 されています。<strong>Caché</strong> ターミナルは、Digital EquipmentCorporation の VT320 ターミナルが 持 つ 機 能 の 多 くをエミュレートします。ターミナルでは、<strong>Caché</strong> との 通 信 に、ローカルとネットワークという 2 種 類 の 方 法 が 使 用 されます。タイトル・バーには 現在 使 用 されている 通 信 モードが 示 されます。• ローカル 通 信 は、ターミナルが、ターミナルのインストールされている <strong>Caché</strong> サーバと 通 信 するときに 使 用 されます。この 場 合 は、タイトル・バーに Cache TRM:pid(instancename) と 表 示 されます。– ここで、pid は、ターミナルが 通 信 で 使 用 している <strong>Caché</strong> プロセスのプロセス ID です。– instancename は、プロセスが 実 行 されている <strong>Caché</strong> インスタンスです。• ネットワーク 通 信 では、TCP/IP を 介 した TELNET プロトコルを 使 用 して、Windows <strong>Caché</strong> サーバ、UNIX® ホスト、または OpenVMS ホストと 通 信 します。この 場 合 は、タイトル・バーに (server NT — <strong>Caché</strong> Telnet) と 表 示 されます。ここで、server はリモート・サーバのホスト 名 です。<strong>Caché</strong> の 通 信 スタックは Winsock です。Winsock は、Berkeley Software Distribution (BSD) で 幅 広 く 使 用 されているソケット・パラダイムをベースとした、Microsoft Windows 用 のネットワーク・プログラミング・インタフェースです。ホスト・エントリの 指 定 には、ローカル・ファイル、IP アドレス、または 一 般 的 なホスト 名 (Winsock にネーム・サーバへのアクセスが 実装 されている 場 合 ) のいずれかが 使 用 されます。ホスト 名 の 後 には、 標 準 以 外 のポート 番 号 を 指 定 するオプションの #nnnが 続 く 場 合 があります。この 通 信 モードから 報 告 されるエラーには、Winsock エラー・コードの 名 前 が 使 用 されます。 例 えば、WSAECONNREFUSEDは、 接 続 が 拒 否 されたことを 意 味 します。4 <strong>Caché</strong> ターミナルの 使 用 法


一 般 的 な 使 用1.3 一 般 的 な 使 用ターミナルでは、あらゆる <strong>Caché</strong> ObjectScript コマンドを 入 力 できます。 次 に 例 を 示 します。d ^myroutineset dirname = "c:\test"set obj=##class(Test.MyClass).%New()write obj.Prop1注 釈ターミナルでは、 入 力 した 各 行 の 後 に Use 0 コマンドが 暗 黙 的 に 発 行 されます。これは、その 他 のデバイスへの 直 接 出 力 に 対 して Use コマンドを 発 行 した 場 合 、このコマンドは 基 本 的 には 無 視 されることを 意 味 しています。また、 入 力 バッファのサイズが 大 きい 場 合 は、Ctrl-C や Ctrl-S などの 入 力 フローの 停 止 を 試 みるキー 操 作 に遅 延 が 生 じることがあります。この 遅 延 はプロセッサと 接 続 速 度 にも 依 存 します。キーストロークに 対 応 するための 特 別 な 処 理 が、ホスト 入 力 よりも 前 に 実 行 されています。ターミナル・スクリプトも 実 行 できます。ターミナル・スクリプトとは、ファイル・システムに 存 在 する 拡 張 子 .scr を 持 つファイルです。ターミナルには、これらのスクリプトで 使 用 できる 小 規 模 なコマンド・セットが 用 意 されています。このコマンド・セットには、 手 動 でコマンドを 入 力 したかのようにターミナルに <strong>Caché</strong> コマンドを 送 信 するコマンドなどが 含 まれます。1.4 ZWELCOME ルーチンターミナルが 実 行 を 開 始 すると、コードは、%SYS ネームスペースに ZWELCOME という 名 前 のルーチンが 存 在 するかどうかをチェックします。 該 当 するルーチンが 見 つかると、ターミナルのログイン・シーケンスがある 場 合 は、その 直 前 にそのルーチンを 呼 び 出 します。このルーチンは、その 名 前 が 意 図 するように、カスタムな 識 別 情 報 やようこそメッセージをユーザに 表 示 する 目 的 で 使 用 されます。注 釈注 意%SYS ネームスペースに ZWELCOME をインストールするには、 管 理 者 特 権 と CACHESYS データベースへの書 き 込 みアクセスが 必 要 です。ZWELCOME ルーチンは、 空 の $USERNAME および $ROLES を %ALL に 設 定 して、%SYS ネームスペースで 実 行 されます。 使 用 の 際 は、ZWELCOME が 失 敗 した 場 合 でも 影 響 が 出 ないようにする 必 要があります。以 下 はその 簡 単 な 例 です。ZWELCOME() PUBLIC ;; ExampleWrite !Set ME = ##class(%SYS.ProcessQuery).%OpenId($JOB)Write "Now: ", $ZDATETIME($HOROLOG, 3, 1), !Write "Pid/JobNo: ", ME.Pid, "/", ME.JobNumber, !Write "Priority: ", ME.Priority, !Quit<strong>Caché</strong> ターミナルの 使 用 法 5


<strong>Caché</strong> ターミナルの 概 要1.5 実 行 開 始 ネームスペースターミナルを 開 始 すると、 特 定 のネームスペースで 開 きます。このオプションは、ユーザ 定 義 の [ 開 始 ネームスペース] オプションで 制 御 されます。"<strong>Caché</strong> セキュリティ 管 理 ガイド" の “ユーザ” の 章 を 参 照 してください。コマンド・プロンプトには、 次 のような 現 在 のネームスペースが 表 示 されます。USER>1.5.1 ネームスペースの 変 更ターミナルのネームスペースを 変 更 するには、 以 下 のような 方 法 があります。• ZNSPACE コマンド• ^%CD ユーティリティ1.5.1.1 ZNSPACE コマンドの 使 用 法ZNSPACE ( 短 い 形 式 は ZN) コマンドを 使 用 して、 新 しいネームスペースに 変 更 できます。USER>ZN "SAMPLES"SAMPLES>ZNSPACE コマンドの 引 数 は、 変 更 後 のネームスペースの 名 前 を 表 す 単 一 の 文 字 列 です。 無 効 なネームスペース 名 を入 力 すると、ZNSPACE は エラーを 返 します。 詳 細 は、"<strong>Caché</strong> ObjectScript リファレンス" の "ZNSPACE"のリファレンス・ページを 参 照 してください。1.5.1.2 ^%CD ユーティリティの 使 用 法^%CD (Change Directory) ルーチンを 使 用 して、 新 しいネームスペースに 変 更 できます。SAMPLES>d ^%CDNamespace: userYou're in namespace USERDefault directory is c:\intersystems\cache\mgr\user\USER>^%CD ルーチンは、 変 更 後 の 新 しいネームスペースを 要 求 するメッセージを 表 示 します。ネームスペース 名 では、 大 文 字と 小 文 字 が 区 別 されません。プロンプトで ? を 入 力 すると、^%CD は 利 用 できるネームスペースのリストを 表 示 します。 無効 なネームスペース 名 を 入 力 すると、^%CD はエラー・メッセージを 表 示 します。1.6 ターミナル・プロンプト前 述 のように、ターミナル・プロンプトは、 現 在 使 用 中 のネームスペースを 示 しています。トランザクション・レベルまたはプログラム・スタック・レベルを 示 すために、プロンプトには 詳 細 情 報 が 表 示 される 場 合 があります。1.6.1 トランザクション・レベルトランザクション 内 で 作 業 している 場 合 、トランザクション・レベルを 示 すために、プロンプトに 接 頭 語 が 付 加 されます。 接頭 語 の 形 式 は TLn: です。ここで、n はトランザクション・レベルです。 例 えば、User ネームスペース 内 で 作 業 している 場合 に、<strong>Caché</strong> ObjectScript コマンド TSTART を 入 力 すると、プロンプトは 以 下 のように 変 更 されます。6 <strong>Caché</strong> ターミナルの 使 用 法


ターミナル・プロンプトUSER>tstartTL1:USER>ターミナルを 終 了 すると、これによりトランザクションがロールバックされます。1.6.2 プログラム・スタック・レベルエラーが 発 生 すると、プログラム・スタック・レベルを 示 すために、プロンプトに 接 尾 辞 が 追 加 されます。 次 に 例 を 示 します。USER 5d3>Quit コマンドを 入 力 して、デバッグ・プロンプトを 終 了 します。または、エラーをデバッグします。"<strong>Caché</strong> ObjectScript の使 用 法 " の “コマンド 行 ルーチンのデバッグ” の 章 を 参 照 してください。1.6.3 TSQL シェルTSQL シェルにアクセスするには、DO $SYSTEM.SQL.TSQLShell() と 入 力 して、Enter キーを 押 します。プロンプトは、 以 下 のように 文 字 列 :TSQL と 共 に 表 示 されます。USER>DO $SYSTEM.SQL.TSQLShell()Current settings :-No current settingsCompiler is NEWUSER:TSQL>TSQL シェルを 終 了 するには、^ コマンドを 入 力 します。TSQL シェルの 詳 細 は、"<strong>Caché</strong> Transact-SQL (TSQL) 移 行 ガイド" を 参 照 してください。1.6.4 MV シェルMV シェルにアクセスするには、MV と 入 力 して、Enter キーを 押 します。プロンプトは、 以 下 のように、 末 尾 に 右 山 括 弧(>) ではなく、コロン (:) が 付 いて 表 示 されます。USER>MVUSER:MV シェルが 初 期 化 されていないと、このプロンプトの 前 にメッセージが 表 示 される 場 合 があります。MV シェルを 終 了 するには、Quit コマンドを 入 力 します。MV シェルの 詳 細 は、"Using the MultiValue Features of <strong>Caché</strong>" のドキュメントの “Starting MultiValue” の 章 を 参 照 してください。注 釈MV シェル 内 から 別 の MV シェルを 開 かないでください。1.6.5 オペレーティング・システム・シェルターミナルでは、さまざまなオペレーティング・システム・シェルを 開 くこともできます。シェルを 開 くには、! と 入 力 して、Enter キーを 押 します。すると、ターミナルで、 既 定 のオペレーティング・システム・シェルが 開 き、プロンプトに 作 業 ディレクトリが 表 示 されます。 次 に 例 を 示 します。USER>!c:\intersystems\cache\mgr\user\><strong>Caché</strong> ターミナルの 使 用 法 7


<strong>Caché</strong> ターミナルの 概 要注 釈Macintosh では、C シェルをこの 方 法 で 開 くことはできません。アクセス 拒 否 のエラーが 表 示 されます。ただし、他 のシェル (Bash、Bourne、または Korn) は 使 用 できます。シェルを 終 了 するには、そのシェルに 該 当 する quit コマンドか exit コマンドを 使 用 します。1.7 ターミナルでの 実 行 の 中 断ターミナルを 中 断 して、フォアグラウンドのすべての 実 行 内 容 を 停 止 するには、 次 のいずれかのキー 組 み 合 わせを 使 用します。• Ctrl-C — [Windowsエディットアクセラレータ] オプションが 有 効 になっていない 場 合 に 使 用 します。• Ctrl-Shift-C — [Windowsエディットアクセラレータ] オプションが 有 効 になっている 場 合 に 使 用 します。[Windowsエディットアクセラレータ] オプションの 詳 細 は、“ターミナルの 外 観 および 動 作 の 制 御 ” の 章 の “ユーザ 設 定 ”セクションを 参 照 してください。1.8 ターミナルの 終 了ターミナルを 終 了 するには、 以 下 のいずれかの 操 作 を 実 行 します。• [ファイル]→[ 終 了 ] をクリックします。• Alt-F4 を 押 します。この 操 作 により、ターミナルの 現 行 のコピーが 終 了 し、 開 いているすべてのファイルが 閉 じられて、フォアグラウンドのすべての 実 行 内 容 が 停 止 されます。このターミナルが 起 動 時 にサーバに 接 続 されていた 場 合 は、 通 信 チャネルが 閉 じたときに 自 動 的 に 終 了 します。InterSystems ランチャーの [Cache Telnet] を 使 用 してこのターミナルにアクセスした 場 合 、ターミナルは 通 信 チャネルが閉 じたときに 自 動 的 に 終 了 せず、アクティブ 状 態 のままになるため、[ 接 続 ] メニューを 使 用 して 再 接 続 できます。8 <strong>Caché</strong> ターミナルの 使 用 法


2ターミナルのインタラクティブな 使 用 法この 章 では、インタラクティブ・モードでターミナルを 操 作 する 基 本 的 な 方 法 について 説 明 します。ここでは、 以 下 のトピックについて 説 明 します。• 表 示 のスクロール 方 法• ターミナルのスクロールを 一 時 停 止 および 再 開 する 方 法• 前 のコマンドを 繰 り 返 す 方 法• テキストをコピーして 貼 り 付 ける 方 法• 印 刷 方 法• ターミナル 画 面 をクリアする 方 法• ターミナル・セッションをログに 記 録 する 方 法2.1 スクロールアクティブなテキストが 到 着 したときは 常 に、ターミナルによって、ウィンドウが 新 しく 到 着 したテキストにスクロールされます。 右 のスクロール・バーを 使 用 して、 上 下 にスクロールします。以 下 のように、キーボードを 使 用 して、ターミナル 内 をスクロールすることもできます。テーブル 2–1: キーボードを 使 用 したターミナル 表 示 のスクロールキーの 組 み 合 わせCtrl-HomeCtrl-EndCtrl-PageUpCtrl-PageDownCtrl-LineUpCtrl-LineDown結 果バッファの 先 頭 にスクロールします。カーソルまで 下 方 にスクロールします。1 ページ 単 位 で 上 方 にスクロールします。1 ページ 単 位 で 下 方 にスクロールします。1 行 ごとに 上 方 にスクロールします。1 行 ごとに 下 方 にスクロールします。<strong>Caché</strong> ターミナルの 使 用 法 9


ターミナルのインタラクティブな 使 用 法2.2 ターミナルのスクロールの 一 時 停 止 と 再 開ターミナルのスクロールを 一 時 停 止 するには、Ctrl+s を 押 します。スクロールが 一 時 停 止 されている 間 、ターミナルは、コマンドを 受 け 入 れて 処 理 しますが、 画 面 にコマンドや 出 力 を 書 き 込 むことはありません (そのため、 応 答 しないように 見 えます)。再 開 するには、Ctrl+q を 押 します。2.3 前 のコマンドの 繰 り 返 し前 のコマンドを 繰 り 返 すには、 必 要 なコマンドが 表 示 されるまで 上 矢 印 キーを 繰 り 返 し 押 します。コマンドを 入 力 するには、 通 常 どおり Enter キーを 押 します。2.4 テキストのコピーと 貼 り 付 けターミナルでテキストをコピーして 貼 り 付 けることができます。この 操 作 を 実 行 するには、コンテキスト・メニュー ( 右 クリック・メニュー)、[ 編 集 ] メニュー、または 各 種 のキーボード・ショートカットを 使 用 できます。 以 下 のオプションを 使 用 できます。• コピー — 選 択 されているテキストを、クリップボードにコピーします。• 貼 り 付 け — クリップボードのコンテンツをカーソルの 現 在 位 置 (ターミナルのスクロールバック・バッファの 最 後 ) に 行ごとに 貼 り 付 けます。このテキストは、エコーが 無 効 にされていない 限 り、ターミナル・ウィンドウに 表 示 されます。• コピー + 貼 り 付 け — 選 択 したテキストをクリップボードにコピーして、カーソルの 現 在 位 置 に 行 ごとに 貼 り 付 けます。2.4.1 キーボードによるショートカット使 用 できるキーボードによるショートカットは、 以 下 のとおりです。テーブル 2–2: コピーおよび 貼 り 付 けのショートカットアクションコピー貼 り 付 けコピーと 貼 り 付 け基 本 のショートカットCtrl-InsertShift-InsertWindows のショートカットCtrl-CCtrl-VCtrl-Shift-V“ 基 本 のショートカット” 列 に 示 したショートカットは、 常 に 有 効 です。“Windows のショートカット” 列 に 示 したショートカットは、[Windows edit accelerators] オプションを [はい] に 設 定 した 場合 にのみ 有 効 になります。この 設 定 の 詳 細 は、“ターミナルの 外 観 および 動 作 の 制 御 ” の 章 の “ユーザ 設 定 ” のセクションを 参 照 してください。10 <strong>Caché</strong> ターミナルの 使 用 法


印 刷2.4.2 コピーと 貼 り 付 けに 関 する 注 記• 前 述 のように、[Windows edit accelerators] オプションを [はい] に 設 定 すると、Ctrl-C によって、 選 択 したテキストがWindows クリップボードにコピーされます。ターミナルを 中 断 するには、 代 わりに Ctrl-Shift-C を 押 す 必 要 があります。• ホストに 処 理 中 のマウス・リクエストがあるときに、 切 り 取 りおよび 貼 り 付 けをローカルで 実 行 したい 場 合 は、 対 象 領 域を 選 択 しながら Ctrl キーを 押 すと、マウスのアクションがホストに 報 告 されなくなります。• コピーされたテキストに 行 の 境 界 が 含 まれる 場 合 は、キャリッジ・リターンと 改 行 としてクリップボードに 保 存 されます。改 行 を 貼 り 付 けない 場 合 は、“ユーザ 設 定 ” を 参 照 してください。• ターミナルのデータ 貼 り 付 け 速 度 が、ホストのデータ 受 信 速 度 よりも 速 い 場 合 がしばしばあります。 貼 り 付 け 速 度 を制 御 するための 設 定 は、“ユーザ 設 定 ” を 参 照 してください。また、 貼 り 付 けコマンドの 実 行 時 に、 改 行 を 破 棄 することもできます。2.5 印 刷ターミナルから 印 刷 するには、[ファイル] メニューの 以 下 のオプションを 使 用 します。• プリンタを 選 択 して、ターミナルでそのプリンタを 使 用 するように 設 定 するには、[ファイル]→[ 印 刷 設 定 ] をクリックします。• ターミナル 画 面 の 内 容 を 印 刷 するには、[ファイル]→[ 印 刷 ] をクリックします。• ログ・ファイル (または 他 の ASCII ファイル) を 印 刷 するには、[ファイル]→[ログの 印 刷 ] をクリックします。このオプションでは 印 刷 するファイルを 選 択 でき、 改 ページ 文 字 を 適 切 に 処 理 する 以 外 は、 特 別 な 操 作 は 必 要 ありません。印 刷 中 は、マウスおよびキーボード 入 力 がメイン・ウィンドウからロック・アウトされ、キャンセル 用 のダイアログ・ボックスが 表 示 されます。 印 刷 はドラフト・モードで 実 行 されます。2.6 画 面 のクリア[ 編 集 ] メニューには、 画 面 をクリアするための 2 つの 異 なるオプションが 用 意 されています。• 画 面 をリセットするには、[ 編 集 ]→[リセット] をクリックします。このオプションを 使 用 すると、 現 在 のページ 上 のマージン、スクロール 領 域 、およびその 他 の 処 理 がリセットされ、ターミナルでウィンドウが 再 描 画 されます。• 画 面 を 再 初 期 化 するには、[ 編 集 ]→[ 削 除 ] をクリックするか、Ctrl-Delete を 押 します。このオプションは、ターミナル・ウィンドウを 再 初 期 化 し、すべてのセッション・データを 消 去 し、スクロールバック 領 域 を 0 にリセットします。2.7 ターミナル・セッションのログへの 記 録ターミナル・セッションのログへの 記 録 を 開 始 するには、[ファイル]→[ログ] をクリックします (または Alt-l をクリックします)。これにより、セッションのロギングが 開 始 されます。ロギング・データを 収 集 して 記 録 するファイルの 名 前 を 指 定 します。 接続 からの 出 力 のみがログに 記 録 されます ( 現 行 のラップ・モードには 関 係 ありません)。アクティブなログ・ファイルがある場 合 は、アクティブなファイルへのロギングを 停 止 するかどうかを 尋 ねられます。<strong>Caché</strong> ターミナルの 使 用 法 11


ターミナルのインタラクティブな 使 用 法ログ・ファイルが 存 在 する 場 合 、ターミナルでそのファイルへの 上 書 きを 行 うかどうかを 尋 ねられ、yes、no および cancelの 3 つの 選 択 肢 を 提 示 されます。“Yes” では 新 規 のログ・データによりファイルを 上 書 きします。“no” ではあらゆる 新 規のログ 情 報 をファイルへ 追 加 します。“cancel” ではファイルをそのまま 残 します (ロギングは 行 われません)。2.7.1 ターミナル・ロギングに 関 するメモ既 定 のディレクトリは、<strong>Caché</strong> システム・マネージャのディレクトリです。ログ・ファイルの 既 定 の 名 前 と 場 所 は、 以 下 のいずれかの 場 所 のレジストリに 指 定 されます。• ターミナルが 学 習 モードでない 場 合 :HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/ComDlg32/OpenSaveMRU/log• ターミナルが 学 習 モードの 場 合 :HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/ComDlg32/OpenSaveMRU/scr“その 他 のトピック” の 章 の “ 学 習 モード” のセクションを 参 照 してください。このドキュメントで 後 述 するように、ターミナル・スクリプトからもロギングを 実 行 できます。[ファイル]→[ログ] によりロギングを 開 始 した 場 合 、ロギングも 実 行 するスクリプトは 開 始 できないことに 注 意 してください。この 動 作 は 不 確 定 です。ターミナル・ログ・ファイルのパスおよびファイル 名 の 合 計 長 は 126 文 字 を 超 えることができません。12 <strong>Caché</strong> ターミナルの 使 用 法


3ターミナルの 外 観 および 動 作 の 制 御この 章 では、インタラクティブ・モードでターミナルの 外 観 と 動 作 を 制 御 するさまざまな 方 法 について 説 明 します。ここでは、 以 下 のトピックについて 説 明 します。• フォントを 指 定 する 方 法• 色 を 指 定 する 方 法• ウィンドウ・サイズを 指 定 する 方 法• カスタム・キーの 組 み 合 わせを 定 義 する 方 法• ユーザ 設 定 を 指 定 する 方 法• ネットワーク・エンコードを 指 定 する 方 法• 表 示 の 物 理 文 字 設 定 を 指 定 する 方 法3.1 フォントの 指 定使 用 するフォント・サイズを 指 定 するには、[ 編 集 ]→[フォント] をクリックします。これによりダイアログ・ボックスが 表 示 されます。このダイアログ・ボックスで、 使 用 しているモニタと 解 像 度 に 適 した 書 体 、サイズ、およびスタイルを 選 択 できます。注 釈画 面 の 枠 を 越 えてウィンドウが 拡 張 するようなフォント・サイズを 選 択 した 場 合 は、 画 面 とフォントの 両 方 が 使 用可 能 な 最 大 サイズに 自 動 調 整 されます。また、 異 なるサイズ 画 面 に 切 り 替 えたときは 常 に、そのサイズに 対 して 事 前 選 択 されているフォントが 使 用 されます。3.2 色 の 指 定使 用 する 色 を 指 定 するには、[ 編 集 ]→[ 色 ] をクリックします。これにより、ターミナルの 既 定 の 前 景 色 と 背 景 色 を 選 択 できるダイアログ・ボックスが 表 示 されます。 次 に、 以 下 のいずれかをクリックします。• [ 適 用 ] をクリックすると、 現 在 のターミナルのみが 変 更 されます。• [ 保 存 ] をクリックすると、 現 在 のインスタンスは 変 更 されず、ターミナルの 新 規 インスタンス 用 に 色 情 報 が 保 存 されます。<strong>Caché</strong> ターミナルの 使 用 法 13


ターミナルの 外 観 および 動 作 の 制 御ANSI 名 で 事 前 指 定 された 色 から、ディスプレイ・ボードが 提 供 する 任 意 の 色 に 調 整 できます。これらの 色 は、 前 景 色 および 背 景 色 と 共 に 保 存 されます。 既 定 の 色 を 選 択 するには、[デフォルト] をクリックしてから 色 を 選 択 します。3.3 ウィンドウ・サイズの 指 定ターミナル・ウィンドウのサイズを 指 定 するには、[ 編 集 ]→[ウィンドウサイズ] をクリックします。これにより、ウィンドウ・サイズを 指 定 できるダイアログ・ボックスが 表 示 されます。列 の 最 大 数 は 132 で、 行 の 最 大 数 は 64 です。 変 更 を 行 うと、ダイアログ・ボックスでは、 使 用 可 能 なスクロールバックの行 数 とページ 数 が 更 新 されます。 次 に、 以 下 のいずれかをクリックします。• [ 適 用 ] をクリックすると、 現 在 のターミナルのみが 変 更 されます。• [ 保 存 ] をクリックすると、 現 在 のインスタンスは 変 更 されず、ターミナルの 新 規 インスタンス 用 にウィンドウ・サイズ 情 報が 保 存 されます。注 釈ウィンドウのサイズを 変 更 すると、ターミナルでは、 現 在 の 表 示 ページとすべてのバック・ページにある 現 行 のすべてのデータが 消 去 されます。さらには、 新 しいサイズ 用 に 選 択 されているフォントがある 場 合 は、そのフォントが 選 択 されます。3.4 カスタム・キーの 組 み 合 わせの 定 義カスタム・キーの 組 み 合 わせを 定 義 するには、[ 編 集 ]→[ユーザキー] をクリックします。これによりダイアログ・ボックスが表 示 されます。このダイアログ・ボックスでは、<strong>Caché</strong> コマンドを、Alt-Shift-F1 から Alt-Shift-F10 までのいずれかのキーの 組 み 合 わせと 関 連 付 けることができます。[OK] と [ 保 存 ] を 続 けて 選 択 すると、 現 在 のインスタンスが 更 新 されると 同 時 に、 以 降 のターミナル・インスタンス 用 にキー・シーケンスが 保 存 されます。出 力 できない 文 字 をコマンドに 含 めるには、その 文 字 と 同 等 の 10 進 数 値 (nnn) を 使 用 します。また、、、、、、、、、 (= ) のいずれかを 使 用 できます。、 などのコマンド 行 パラメータも 使 用 できます。注 釈[ユーザーキー] 機 能 に 関 する 既 知 の 問 題 があります。 最 新 の 情 報 は、インターシステムズのサポート 窓 口 にお問 い 合 わせください。14 <strong>Caché</strong> ターミナルの 使 用 法


その 他 のユーザ 設 定 の 指 定3.5 その 他 のユーザ 設 定 の 指 定ユーザ 設 定 を 指 定 するには、[ 編 集 ]→[ユーザ 設 定 ] をクリックします。これによりダイアログ・ボックスが 表 示 されます。このダイアログ・ボックスでは、ターミナルによって 使 用 される 各 種 パラメータの 現 行 設 定 値 と 初 期 値 の 両 方 を 指 定 できます。この 設 定 は 以 下 のとおりです。テーブル 3–1: ユーザ 設 定設 定Wrap


ターミナルの 外 観 および 動 作 の 制 御• ターミナルがピア・サーバと 通 信 する 場 合 。サーバに 転 送 される 文 字 は 内 部 の Unicode 表 現 からネットワーク・エンコードに 変 換 され、サーバから 受 け 取 った 文 字 はネットワーク・エンコードから Unicode に 変 換 されます。既 定 のネットワーク・エンコードは、8 ビット・システムであっても、UTF8 です。ネットワーク・エンコードを 指 定 するには、[ 編 集 ]→[ネットワーク・エンコーディング] をクリックします。これにより、ターミナルで 使 用 するネットワーク・エンコードを 選 択 できるダイアログ・ボックスが 表 示 されます。 選 択 できるエンコードは、[UTF8]、[Windows]、[ISO]、および [EUC] の 4 つです。これらのエンコードのすべてがあらゆる 入 力 ロケールに 関 連 するわけではないため、 関 連 するエンコードのみがメニューに 表 示 されます。3.6.1 UTF8 エンコードUTF8 オプションを 選 択 すると、ターミナルで、 内 部 の Unicode 文 字 は、サーバへの 出 力 時 は UTF8 に 変 換 され、サーバからの 受 信 時 は UTF8 から 変 換 されます。UTF8 を 選 択 する 場 合 は、 主 入 出 力 デバイスの <strong>Caché</strong> 入 出 力 変 換 がUTF8 である 必 要 があります。この 入 出 力 変 換 は、$ZMODE によって 確 認 できます。 円 記 号 (\) で 区 切 られた 4 番 目 のフィールドにあります。3.6.2 Windows エンコードWindows オプションを 選 択 すると、ターミナルでは、ターミナルとサーバ 間 での 内 部 の Unicode 文 字 セット・エンコードに対 する 入 出 力 変 換 に、 現 行 の Windows 入 力 コード・ページが 使 用 されます。Windows エンコードを 使 用 するときは、<strong>Caché</strong> 入 出 力 変 換 ($ZMODE) を、アクティブな Windows コード・ページが 示 す 文 字 セットになるように 設 定 する 必 要 があります。3.6.3 ISO エンコードISO オプションを 選 択 すると、ターミナルでは、ピア・サーバとの 入 出 力 変 換 に、 以 下 の ISO 8859-X コード・ページが 使用 されます。 適 切 な ISO コード・ページは、 現 行 の Windows 入 力 コード・ページに 基 づいて 選 択 されます。 有 効 な 対 応関 係 は、 以 下 のとおりです。テーブル 3–2: ISO エンコード言 語 地 域ISO 標 準Windowsコード・ページネットワーク・コード・ページ西 ヨーロッパ8859-15125228605中 央 ヨーロッパ8859-2125028592キリル 文 字8859-1125128591ギリシャ 語8859-7125328597トルコ 語8859-9125428599ヘブライ 語8859-8125528598アラビア 語8859-6125628596バルト・リム 語8859-4125728594韓 国 語iso-2022-kr94950225日 本 語 (JIS)N/A93250220ISO ネットワーク・エンコードが 選 択 されている 場 合 は、 他 のすべての Windows 入 力 コード・ページで Windows コード・ページが 使 用 されます。16 <strong>Caché</strong> ターミナルの 使 用 法


表 示 の 物 理 文 字 設 定 の 指 定ISO エンコードを 使 用 するときは、$ZMODE で 表 示 される <strong>Caché</strong> 入 出 力 変 換 が、ターミナルによって 使 用 されるアクティブな ISO コード・ページが 示 す 文 字 セットと 矛 盾 しないように 確 認 する 必 要 があります。3.6.4 EUC エンコードEUC エンコードは、 極 東 地 域 の 言 語 に 関 連 するもので、 一 部 の UNIX® システムとの 通 信 に 使 用 されます。EUC オプションを 選 択 すると、ターミナルでは、サーバとの 入 出 力 変 換 に、 以 下 のコード・ページが 使 用 されます。 適 切 な EUCコード・ページは、 現 行 の Windows 入 力 コード・ページに 基 づいて 選 択 されます。 有 効 な 対 応 関 係 は、 以 下 のとおりです。テーブル 3–3: EUC エンコード言 語 地 域ISO 標 準Windowsコード・ページネットワーク・コード・ページ日 本 語N/A93251932簡 体 字 中 国 語N/A93651936韓 国 語N/A94951949日 本 語 (JIS) のサポートは、50220 コード・ページを 使 用 する ISO ネットワーク・エンコードによって 実 現 され、 内 部 のUnicode との 変 換 が 行 われます。3.7 表 示 の 物 理 文 字 設 定 の 指 定物 理 文 字 設 定 を 指 定 するには、[ 編 集 ]→[ 物 理 文 字 表 示 の 設 定 ] をクリックし、[ 論 理 ] または [ 物 理 ] をクリックします。このオプションでは、ターミナル・ウィンドウに 表 示 される 文 字 の 形 態 を 制 御 できます。 両 者 の 相 違 がわかるのは、マルチバイトの 文 字 セットの 使 用 時 のみです。<strong>Caché</strong> ターミナルの 使 用 法 17


4ターミナル・スクリプトの 使 用 法この 章 では、ターミナルでスクリプト・ファイルを 作 成 して 使 用 する 方 法 について 説 明 します。• スクリプトの 実 行 を 開 始 する 方 法• スクリプトの 実 行 を 一 時 停 止 する 方 法• スクリプトの 実 行 を 停 止 する 方 法• スクリプト・ファイルのコンテンツ• スクリプト・ファイルで 使 用 できるコマンドのリスト• これらのコマンドの 引 数 を 指 定 する 方 法• サンプルのターミナル・スクリプト・ファイルまた、 次 の 章 “スクリプト・コマンドのリファレンス”、および “その 他 のトピック” の 章 の “ 学 習 モード” のセクションも 参照 してください。注 釈ローカルのターミナル 接 続 を 実 行 しているプロセス 内 の 環 境 変 数 は、 以 下 のように 使 用 できます。• Windows Vista より 前 は、<strong>Caché</strong> プロセスは、Windows にログインするユーザとして 実 行 され、ターミナル・プログラム (cterm.exe) を 実 行 していました。この 場 合 、すべての 環 境 変 数 および 共 有 ドライブ 文 字 の 指 定 は、ユーザによって 定 義 されます。• Windows Vista 以 降 (これには、Windows Vista、Windows Server 2008、Windows 7、および Windows の想 定 される 後 続 リリースすべてが 含 まれます)、ターミナル 接 続 を 処 理 する <strong>Caché</strong> プロセスは、<strong>Caché</strong> コントロール・サービスを 実 行 するユーザ・アカウントのコンテキストで 実 行 されます。この 場 合 、ユーザ 環 境 変 数 および 共 有 ドライブ 文 字 の 指 定 は、<strong>Caché</strong> コントロール・サービスを 実 行 するユーザ・アカウントによって 定 義 されます。4.1 スクリプトの 実 行 の 開 始通 常 、スクリプト・ファイル ( 既 定 の 拡 張 子 は .scr) は 作 業 ディレクトリにありますが、 任 意 の 場 所 に 配 置 可 能 です。スクリプトを 実 行 するには、[ファイル]→[スクリプト] をクリックするか、Alt-S を 押 します。Windows の 標 準 的 なファイル 検索 ボックスが 表 示 され、そこでスクリプトを 選 択 します。コマンド 行 の 引 数 としてスクリプトが 指 定 されている 場 合 は、コマンド・モードをロックしているスイッチがなければスクリプトが 直 ちに 開 始 され、スイッチがあればホスト 接 続 が 確 立 されるまで 開 始 が 延 期 されます。<strong>Caché</strong> ターミナルの 使 用 法 19


ターミナル・スクリプトの 使 用 法注 釈通 信 オプションをシングル・モードに 編 集 することは、ターミナルをシングル・オプションにロックすることと 同 じです。したがって、スクリプト・ファイルの 起 動 はホスト 接 続 の 確 立 後 まで 延 期 されます。4.2 スクリプトの 実 行 の 一 時 停 止スクリプトの 実 行 を 一 時 停 止 するには、[ファイル]→[ 一 時 停 止 ] をクリックするか、Alt-P を 押 します。 現 在 のスクリプトを 一時 停 止 することを 確 認 するプロンプトが 表 示 されます。4.3 スクリプトの 実 行 の 停 止スクリプトを 停 止 するには、[ファイル]→[スクリプト] をクリックするか、Alt-S を 押 します。 現 在 のスクリプトを 停 止 することを 確 認 するプロンプトが 表 示 されます。4.4 スクリプト・ファイルのコンテンツスクリプトは 1 行 指 向 で、 行 継 続 の 表 記 規 則 がありません。 各 行 は 他 の 行 から 完 全 に 分 離 されています。セミコロンで 始まる 行 はコメントと 見 なされます。 読 みやすさを 向 上 させるために 空 白 行 を 自 由 に 使 用 できます。 通 常 、 無 効 な 行 は 無 視されます。スクリプト・コマンドは、スペースおよび/またはタブの 後 に 続 けます。スクリプト・コマンドを 含 む 行 の 形 式 は 以 下 のとおりです。 引 数 は 文 字 列 または 数 値 と 解 釈 されます。ScriptCommand: ScriptArgumentsここで、ScriptCommand は、ターミナル・スクリプト・コマンドの 1 つで、ScriptArguments は、そのコマンドの 引 数 リストです ( 具 体 的 なコマンドの 詳 細 を 参 照 )。スクリプト・コマンドが 2 つ 以 上 の 単 語 で 構 成 されている 場 合 は、コマンドの 各 語間 を 1 つのスペースで 区 切 る 必 要 があります。また、コマンドとコロンの 間 にはスペースを 入 れません。引 数 のないコマンドを 以 下 に 示 します。ScriptCommand制 御 の 移 動 箇 所 の 定 義 には、ラベルを 使 用 できます。ラベルはドル 記 号 ($) で 始 まり、 大 文 字 と 小 文 字 が 区 別 されません。ラベルには、スペースを 埋 め 込 むことができます。ラベルは、1 行 に 単 独 で 記 述 する 必 要 があります。“その 他 のトピック” の 章 の “ 学 習 モード” のセクションも 参 照 してください。4.5 スクリプト・コマンドの 概 要次 のテーブルは、 使 用 可 能 なスクリプト・コマンドの 一 覧 です。テーブル 4–1: ターミナル・スクリプト・コマンドコマンドbreakcall scriptアクションブレークをサポートする 通 信 デバイスにブレークを 送 信 します。現 在 のスクリプトを 終 了 して、 他 のスクリプトを 開 始 します。20 <strong>Caché</strong> ターミナルの 使 用 法


スクリプト・コマンドの 引 数コマンドcase matchcloselogconnectdebugdisconnectdisplayechoexecuteexitgotoif emptykey_starttimekey_stoptimekey_timerlogfilemultiwait fornotifyon errorpausereturnsendsubroutineterminatetesttimertitlewait forアクション"wait for" コマンドの 文 字 列 が 大 文 字 / 小 文 字 まで 一 致 する 必 要 があるかどうかを 指 定 します。ログ・ファイルを 閉 じます。ホストに 未 接 続 の 場 合 に、ホスト 接 続 を 強 制 します。スクリプトのデバッグを 有 効 化 または 無 効 化 します。ホストに 接 続 されている 場 合 に、 接 続 の 切 断 を 強 制 します。ディスプレイにテキストを 送 信 します。入 力 文 字 のエコーのオン/オフを 切 り 替 えます。Windows プログラムを 実 行 します。スクリプトを 終 了 します。制 御 をスクリプト 内 の 別 の 場 所 に 移 します。最 後 のテスト 文 字 列 が 空 の 場 合 に、 制 御 を 移 動 します。キーの 時 間 計 測 の 開 始 をシミュレートします。キーの 時 間 計 測 の 停 止 をシミュレートします。キーの 時 間 計 測 のオン/オフを 切 り 替 えます。ログ・ファイルを 開 始 します。通 信 デバイスからの 任 意 の 複 数 文 字 列 を 待 機 します。ダイアログ・ボックスを 表 示 して、ユーザからの 応 答 を 待 ちます。タイマが 起 動 された 場 合 の 分 岐 先 ラベルを 指 定 します。スクリプトを 一 時 停 止 します。スクリプト・ファイルのサブルーチンから 戻 ります。通 信 デバイスにテキストを 送 信 します。スクリプト・ファイル 内 のサブルーチンを 呼 び 出 します。エミュレータを 完 全 に 終 了 します。テスト 対 象 の 文 字 列 を 構 築 します。"wait for" コマンド 用 のタイマを 制 御 します。ウィンドウ・タイトルを 設 定 します。通 信 デバイスからの 特 定 の 文 字 列 を 待 機 します。これらのコマンドのリファレンス 情 報 は、 後 述 の “スクリプト・コマンドのリファレンス” を 参 照 してください。4.6 スクリプト・コマンドの 引 数引 数 の 前 後 のスペースおよびタブは、すべて 無 視 されます。数 値 引 数 は、すべて 整 数 値 です。 必 須 の 数 値 引 数 が 指 定 されていない 場 合 は、 既 定 で 0 になります。また、OFF は 0と 同 等 で、ON は 1 と 同 等 です。<strong>Caché</strong> ターミナルの 使 用 法 21


ターミナル・スクリプトの 使 用 法文 字 列 は、コマンドの 後 に 続 く 行 上 の 個 々のデータを 連 結 したものにすぎません ( 先 頭 と 末 尾 の 空 白 は 除 く)。 引 用 符 は必 要 ありません。また、 次 のコマンド 行 を 使 用 することで、パラメータ 置 換 が 実 行 されます。, , ..., これで、 が、n 番 目 のコマンド 行 パラメータに 置 換 されます。操 作 を 簡 略 化 するために、 特 定 の ASCII 文 字 には、この 後 のテーブルに 示 す 同 等 のショートカット 表 記 が 用 意 されています。注 釈 NUL (000) 以 外 のすべての ASCII ( 拡 張 ) 文 字 は、 によって 生 成 できます。ddd はその 文 字 を 表 す 10進 数 値 です。テーブル 4–2: 特 殊 文 字文 字解 釈キャリッジ・リターンF10 キーF7 キーDo キーTab キー改 行Esc キーデバイス 制 御 文 字 列 の 接 頭 部デバイス 制 御 文 字 列 の 終 了拡 張 エミュレータ・コマンドの 開 始新 規 行制 御 文 字 列 の 接 頭 部送 信 シーケンス[21-[18-[29-i4.7 スクリプト 例以 下 は、ターミナル・スクリプトのサンプルです。; initialization -- turn match off to make comparisons more lenientcase match: off; wait for the terminal to initialize and ask for our identificationecho: offwait for:Usernamesend: SYSwait for:Passwordsend: XXXtitle: Terminal Exampleecho: on; log everything in a loglogfile: C:\TermExample.log; wait a secondpause:10; display a header to let the user know we are ready; you need because "display" does not; have a prompt to advance to another linedisplay:22 <strong>Caché</strong> ターミナルの 使 用 法


スクリプト 例display:------------------------------display:>display:------------------------------; wait a secondpause:10; switch to the USER namespacesend: znspace "USER"wait for:USER>; display some basic information about the system; Use the debugging routine to do sosend: Do ^%STACKwait for: action:; have it outline our optionssend: ?wait for: action:; wait 5 seconds for user to absorbpause: 50; ask for the basic process infosend: *spause: 50send: wait for: action:; wait another 10 secondspause: 100; finish the sessionsend: ; close the log filecloselog; finishedterminate<strong>Caché</strong> ターミナルの 使 用 法 23


5スクリプト・コマンドのリファレンスこの 章 では、ターミナル・スクリプト・コマンドのリファレンス 情 報 を 示 します。5.1 breakブレークをサポートする 通 信 ノードにブレークを 送 信 します。それ 以 外 には 何 も 実 行 しません。 引 数 は 取 りません。 使 用例 は 以 下 のとおりです。break5.2 call scriptスクリプトの 実 行 を 開 始 します。このコマンドを 実 行 したときにスクリプトが 実 行 中 の 場 合 は、ターミナルで 実 行 中 のスクリプトを 終 了 してから、 新 しいスクリプトが 開 始 されます。 使 用 例 は 以 下 のとおりです。call script: login fred この 例 は、 現 行 のスクリプトを 停 止 し (スクリプトが 実 行 中 の 場 合 )、login.scr という 名 前 の 別 のスクリプトを 開 始 します。サンプル・スクリプト (login.scr) の 最 初 のパラメータは fred です。 第 2 パラメータは 現 行 のスクリプト・ファイル ( 呼 び 出 しを 行 っているスクリプト・ファイル) の 第 3 パラメータと 同 じになります。 既 定 のファイル 拡 張 子 は .scr と 見 なされます。 最初 に、 現 行 の 作 業 ディレクトリで login.scr のインスタンスが 検 索 されます。5.3 case matchwait for コマンドで 大 文 字 / 小 文 字 の 照 合 を 有 効 化 または 無 効 化 します。 使 用 例 は 以 下 のとおりです。case match: off大 文 字 / 小 文 字 の 照 合 を 無 効 化 すると、 個 々の 文 字 の 大 文 字 / 小 文 字 が 異 なっていても、 文 字 列 が 一 致 していると 見 なされます。このスイッチの 既 定 は on です。<strong>Caché</strong> ターミナルの 使 用 法 25


スクリプト・コマンドのリファレンス5.4 closelog現 在 開 いているログ・ファイルがあれば、それを 閉 じます。 使 用 例 は 以 下 のとおりです。logfile: mydirect.logsend: dir *.*/FULLwait for: $closelog5.5 connectリモート・ホストへの 接 続 を 開 始 するためのダイアログ・ボックスを 開 きます。 使 用 例 は 以 下 のとおりです。connect5.6 debugデバッグ・モードを 有 効 にします。デバッグ・モードでは、 通 常 はターミナルが 無 視 する 無 効 なスクリプト・コマンドをトラップします。デバッグ・モードを 有 効 にすると、オペレータの 注 意 を 喚 起 するメッセージ・ボックスに、 無 効 なコマンドの 最 初の 部 分 が 表 示 されます。 使 用 例 は 以 下 のとおりです。debug: on5.7 disconnectホストとの 接 続 を 切 断 します。 未 接 続 の 場 合 は、 何 の 動 作 もしません。 使 用 例 は 以 下 のとおりです。disconnect5.8 displayデータを 画 面 に 出 力 します。 通 信 デバイスに、データは 送 信 されません。 使 用 例 は 以 下 のとおりです。display: HJHere are the choices for today:この 例 を 実 行 すると、カーソルがホーム 位 置 に 戻 され、ウィンドウがクリアされます。 次 に、1 行 進 めて Here are thechoices for today: というテキストが 出 力 され、テキストの 末 尾 にカーソルが 置 かれます。5.9 echoウィンドウおよびログ・ファイルへの 出 力 の 表 示 を 有 効 化 または 無 効 化 します。これは、 出 力 を 非 表 示 にする 必 要 がある場 合 (ユーザにとって 情 報 価 値 がないためなど) に 役 立 ちます。 例 は、"wait for" を 参 照 してください。26 <strong>Caché</strong> ターミナルの 使 用 法


execute5.10 executeWindows プログラムを 起 動 し、そのウィンドウに SHOW 属 性 を 設 定 します。 使 用 例 は 以 下 のとおりです。execute: notepad.exe myfile.notこの 例 では、Windows のメモ 帳 プログラムを 起 動 し、そのアプリケーション 内 でファイル myfile.not を 開 きます。 次 のような 使 用 方 法 にも 注 目 してください。logfile: mydat.lstecho: offsend: dir *.dat/fullwait for: $closelogecho: onexecute: notepad mydat.lst注 釈プログラムが 実 際 に 開 始 されたかどうかを 確 認 するテストは 実 行 されず、その 完 了 も 待 機 されません。5.11 exitスクリプトを 終 了 します。 通 常 、スクリプトは 最 後 の 行 まで 実 行 されると 終 了 しますが、 特 定 のイベント (ログインなど) が 生じないときに 終 了 させたい 場 合 があります。 使 用 例 は 以 下 のとおりです。on error: $byebyetimer: 40wait for: event:goto: $Got event$byebye:notify: Did not find event prompt, exiting scriptexit$Got event:timer: 0; more commands5.12 goto制 御 をスクリプト・ファイル 内 の 別 の 場 所 に 移 します。このコマンドは、ループ 処 理 のコントロール・フローの 管 理 や、タイムアウト 分 岐 への 対 応 の 使 用 に 便 利 です。 使 用 例 は 以 下 のとおりです。on error: $Not Theretimer: 30wait for: abcgoto: $Got It$Not There:;failed to see it, send Ctrl+Csend: goto: $bad$Got It:;turn timer off because we got abctimer: 0;more commands ...<strong>Caché</strong> ターミナルの 使 用 法 27


スクリプト・コマンドのリファレンス5.13 if empty最 後 の test コマンドが 空 文 字 列 を 検 出 した 場 合 に、 指 定 したラベルに 分 岐 させることができます。 使 用 例 は 以 下 のとおりです。test: if empty: $No First Arg最 初 のコマンドは、コマンド 行 で 指 定 された 第 1 パラメータが 見 つかるかどうか、つまり 空 でないかどうかを 検 証 します。2 番 目 のコマンドは、それが 見 つからない 場 合 に、ラベル $No First Arg に 分 岐 させます。5.14 key_starttimeキー・シーケンスの 時 間 計 測 を 開 始 します。このコマンドは、1 つの 数 値 引 数 を 取 ります。 引 数 が 0 の 場 合 は、Enter を押 したときに、 統 計 が 蓄 積 されます。それ 以 外 の 場 合 は、F10 を 押 したときに、 統 計 が 蓄 積 されます。 使 用 例 は 以 下 のとおりです。key_starttime: 0時 間 計 測 を 停 止 するには、key_stoptime コマンドを 使 用 します。5.15 key_stoptime時 間 計 測 が 現 在 アクティブな 場 合 に、 時 間 計 測 を 停 止 し 統 計 を 蓄 積 します。 使 用 例 は 以 下 のとおりです。key_starttime: 0wait for: [14;22Hkey_stoptime5.16 key_timerキーの 時 間 計 測 情 報 のデータ 収 集 を 開 始 または 停 止 します。または、Alt-Shift-T を 使 用 して、タイマを 開 始 または 停 止できます。 使 用 例 は 以 下 のとおりです。key_timer: on; rest of your script commandskey_timer: offファイル (KEYTIMER.LOG) がシステム・マネージャ・ディレクトリに 作 成 され、キーの 時 間 計 測 のヒストグラムが 記 録 されます。 時 間 計 測 シーケンスは 現 行 の 統 計 ファイルに 追 加 されるのではなく 上 書 きされるため、 使 用 可 能 な 時 間 計 測 シーケンスは 1 つのみです。注 釈時 間 計 測 をスクリプト・ファイルから 排 他 的 に 起 動 するには、、“[21-” の 代 わりに、それぞれ 、 を 使 用 する 必 要 があります。28 <strong>Caché</strong> ターミナルの 使 用 法


logfile5.17 logfile指 定 されたログ・ファイルで 受 信 データの 収 集 を 開 始 します。アクティブなログ・ファイルがある 場 合 は、 適 切 に 終 了 されます。ロギングの 停 止 には、closelog コマンドを 使 用 します。 使 用 例 は 以 下 のとおりです。logfile: mydirect.logsend: dir *.*/FULLwait for: $closelog既 定 のディレクトリはスクリプトの 存 在 するディレクトリとなります。これはフル・パス 名 を 与 えることで 変 更 できます。通 常 、ログ・ファイルは 上 書 き 方 式 で 開 きます。つまり、ログ・ファイルが 既 に 存 在 する 場 合 は、 新 規 データで 既 存 のものが 置 換 されます。詳 細 は、このドキュメントにおける 前 述 のセクション “ターミナル・ロギングに 関 するメモ” を 参 照 してください。5.18 multiwait forスクリプト・ファイルとホストを 同 期 化 します。ホストから 受 信 したデータが、 引 数 に 指 定 されたいくつかの 文 字 列 の 1 つに一 致 するまで、 処 理 が 中 断 されます。 使 用 例 は 以 下 のとおりです。multiwait for: =USER>=***ERROR,=DONEこの 例 では、 指 定 された 3 つの 文 字 列 の 中 の 1 つが 到 着 するまで、スクリプト・ファイルが 待 機 することになります ( 永 久に 待 機 する 可 能 性 もあります)。 引 数 の 最 初 の 非 空 白 文 字 (この 例 では 等 号 記 号 ) は、 引 数 を 複 数 の 部 分 文 字 列 に 分 割する 区 切 り 文 字 として 機 能 します。したがって、このコマンドは、 次 のいずれかのシーケンスが 到 着 するまでサンプル・スクリプトを 待 機 させます。USER>***ERROR,DONEタイマを 使 用 することで、このコマンドを 終 了 できます。大 文 字 / 小 文 字 の 完 全 一 致 を 有 効 または 無 効 にする 場 合 は、case match コマンドを 参 照 してください。case match コマンドの 引 数 には 1 つの 部 分 文 字 列 しか 指 定 できないため、 次 の 2 つのスクリプト・コマンドの 機 能 は 同じになります。multiwait for: =USER>wait for: USER>5.19 notifyWindows メッセージ・ボックスを 表 示 し、ユーザが [OK] ボタンを 押 すまで 待 機 します。スクリプトを 実 行 するユーザへのメッセージに 使 用 できます。 使 用 例 は 以 下 のとおりです。notify: Ready to send commands...send: copy *.lst backup:*.lstsend: delete *.lst;*注 釈このメッセージ・ボックスはモーダルであるため、 他 のユーザが 割 り 込 むことはできません。<strong>Caché</strong> ターミナルの 使 用 法 29


スクリプト・コマンドのリファレンス5.20 on errorタイマが 時 間 切 れになった 場 合 ( 通 常 はテキストの 到 着 を 待 っている 最 中 ) に 実 行 される 暗 黙 の goto のターゲット・ラベルを 設 定 します。 厳 密 な 正 確 さを 確 保 するには、このコマンドは timer の 使 用 前 に 使 用 する 必 要 がありますが、 実 際 にはこの 順 序 は 重 要 ではないことがあります。例 は、"wait for"、"exit"、"goto"、および "subroutine" を 参 照 してください。また、"timer" コマンドも 参 照 してください。5.21 pause実 行 中 のスクリプトを 一 時 停 止 します。 停 止 時 間 は 10 分 の 1 秒 単 位 で 指 定 します。 使 用 例 は 以 下 のとおりです。pause: 30このコマンド 例 では、スクリプトの 実 行 が 3 秒 間 停 止 されます。 引 数 が 0 の 場 合 は 永 久 停 止 となります。 永 久 停 止 から 再開 するには、Alt-P を 使 用 します。5.22 returnsubroutine コマンドと 共 に 使 用 して、スクリプト 内 でそのサブルーチンを 呼 び 出 した 箇 所 に 戻 ります。 使 用 例 は、subroutineコマンドを 参 照 してください。5.23 send現 在 接 続 中 のホストに 送 信 する 入 力 データ (<strong>Caché</strong> 構 文 など) をシミュレートします。 使 用 例 は 以 下 のとおりです。send: zn "DOCBOOK" この 行 はネームスペースを DOCBOOK に 変 更 します。send コマンドはキャリッジ・リターンを 暗 黙 的 に 追 加 しないため、末 尾 の が 必 要 です。もう 1 つの 使 用 例 は 以 下 のとおりです。send:12A1234このコマンドは、 以 下 の 順 で 入 力 したことと 同 等 です。• 文 字 の 1• キャリッジ・リターン・キー• 文 字 の 2• キャリッジ・リターン・キー• A1234 という 文 字 列• F10 キー30 <strong>Caché</strong> ターミナルの 使 用 法


subroutine• 1 つの 空 白 文 字 は 先 頭 または 末 尾 のスペースを 送 信 する 唯 一 の 方 法 であることに 注 意 してください。 普 通 に 入 力 した 場 合 、これらの 文 字 はコマンド・インタープリタによって 削 除 されます。5.24 subroutineスクリプト 内 で 同 じコマンドを 何 度 も 使 用 する 場 合 に 役 立 ちます。このコマンドを 使 用 すると、 記 憶 域 を 節 約 できると 同 時に、 異 なる 多 くのラベルを 保 持 する 必 要 がなくなります。このコマンドは return コマンドと 共 に 使 用 します。 使 用 例 は 以下 のとおりです。subroutine: $Send It Again; some other processingexit$Send It Again:send: Qon error: $skiptimer: 30wait for: [22;5Htimer: 0return$skip:send: ; note on error still set to $skiptimer: 30wait for: function:timer: 0send: exit注 釈サブルーチン・スタックは 16 アドレスを 保 持 します。それより 深 くサブルーチンをネストしようとすると、スクリプトは 失 敗 します。5.25 terminate終 了 して Windows に 戻 るようターミナルに 命 令 します。 開 いているすべてのファイルが 閉 じ、 不 要 なウィンドウが 消 去 され、 接 続 が 閉 じます。 使 用 例 は 以 下 のとおりです。terminate5.26 testパラメータまたはウィンドウ・プロパティが 空 でないかどうかを 調 べます。このコマンドは、if empty コマンドと 連 携 して 使 用します。 使 用 例 は、if empty コマンドを 参 照 してください。<strong>Caché</strong> ターミナルの 使 用 法 31


スクリプト・コマンドのリファレンス5.27 timerwait for コマンドと 連 携 して 使 用 されるタイマを 設 定 します。timer コマンドは、Windows の SetTimer() コマンドを 実 行 します。このタイマが 始 動 すると、スクリプト・プロセッサは on error で 指 定 されたラベルに 移 動 します ( 指 定 されている 場合 )。使 用 例 は 以 下 のとおりです。timer: 100引 数 の 数 値 は 待 機 時 間 で、10 分 の 1 秒 単 位 で 指 定 します。このコマンド 例 では、タイマに 10 秒 が 設 定 されています。goto コマンドの 使 用 例 も 参 照 してください。タイマをオフにするには、 次 のコマンドを 使 用 します。timer: 0timer の 使 用 例 は、"wait for" を 参 照 してください。5.28 titleターミナル・ウィンドウのタイトルを 指 定 された 文 字 列 に 設 定 します。 使 用 例 は 以 下 のとおりです。title: This is my windowタイトルの 設 定 は、 拡 張 エミュレータ・コマンドを 使 用 してリモートで 実 行 することもできます。5.29 wait forスクリプト・ファイルとホストから 受 信 したデータを 同 期 化 します。 使 用 例 は 以 下 のとおりです。wait for: USER>この 例 では、USER> と 完 全 に 一 致 する 文 字 列 が 到 着 するまで、スクリプト・ファイルが 待 機 することになります ( 永 久 に 待機 する 可 能 性 もあります)。この 特 別 なシーケンスは、USER ネームスペースにあるときのターミナルからの 既 定 のプロンプトです。つまり、このコマンドは、ターミナルが 次 の 入 力 を 受 け 入 れ 可 能 になるまで 待 機 する 場 合 に 使 用 できます。timer を 使 用 することで wait for コマンドを 終 了 できます。 対 象 のテキストが 到 着 しない 場 合 、またはそのテキストが 時 間計 測 や 大 文 字 / 小 文 字 の 不 一 致 が 原 因 で 見 つからない 場 合 は、timer が wait for に 割 り 込 みスクリプトの 実 行 を 継 続 する 唯 一 の 方 法 です。timer を 使 用 する 際 は、そのタイマが 時 間 切 れになった 場 合 にフローを 受 け 取 るラベルを 指 定 できます ("on error" を 参 照 してください)。wait for で 検 索 対 象 のテキストが 見 つかった 場 合 は、タイマが 強 制 終 了 されて、on error によって 設 定 されたラベルがクリアされます。 使 用 例 は 以 下 のとおりです。echo: offon error: $Failed Logintimer: 50wait for: Name:send: wait for: Password:send: wait for: $echo: onNotify: Login is completedisplay: HJsend: 32 <strong>Caché</strong> ターミナルの 使 用 法


wait forgoto $Process$Failed Loginecho: onnotify: Login failed.exit$Process;processing beginsこのコマンド 例 は、 最 初 の 2 つのスクリプト・パラメータで 指 定 された 名 前 とパスワードを 使 用 するログイン・シーケンスを非 表 示 にします。ログインに 成 功 すると、 指 定 されたラベルの 箇 所 で 処 理 が 開 始 されます。 失 敗 の 場 合 は、ログインに 失敗 したことを 示 すダイアログ・ボックスが 表 示 され、[OK] をクリックすると 終 了 します。wait for コマンドでテキストの 大 文 字 と 小 文 字 が 区 別 されるかどうかは、case match コマンドの 使 用 状 況 によって 異 なります。<strong>Caché</strong> ターミナルの 使 用 法 33


6リモート・ホストへの 接 続リモート・ホストのデータベースに 現 在 のターミナル・セッションを 接 続 するには、[ 接 続 ] メニューを 使 用 します。• リモート・ホストに 接 続 するには、[ 接 続 ]→[ホスト] をクリックするか、Alt-O を 押 します。これにより、 目 的 のホストのアドレスを 入 力 するためのダイアログ・ボックスが 表 示 されます。または、[ 接 続 ] メニューからホスト 名 をクリックします。• 通 信 チャネル 経 由 でブレークを 送 信 するには、[ 接 続 ]→[ブレーク 信 号 を 送 る] をクリックするか、Alt-B を 押 します。• 切 断 する、または 接 続 の 試 行 をキャンセルするには、[ 接 続 ]→[ 切 断 ] をクリックします。注 釈ターミナルを 起 動 する 際 に /console または /server という 制 御 引 数 を 指 定 した 場 合 は、[ 接 続 ] メニュー 項 目 は表 示 されません。6.1 例この 例 では、ターミナルのインスタンスを 起 動 して、それをローカル・ホスト 上 の TELNET ポートに 手 動 で 接 続 し、コンソール・セッションを 有 効 化 します。この 例 は、 既 定 のユーザ ID とパスワードを 使 用 できることを 前 提 にしています。1. [ 接 続 ]→[ホスト] を 選 択 します。2. 表 示 されるダイアログ・ボックスで、[リモート・システム: アドレス] に 127.0.0.1 を、[ポート 番 号 ] に 23 を 入 力 します。[OK] をクリックします。ターミナル・アプリケーションが TELNET ポートを 介 してローカル・ホストに 接 続 しようとします。3. Username: プロンプトで、SYS と 入 力 し、Enter を 押 します。4. 次 に、Password: プロンプトで、パスワードを 入 力 し、Enter を 押 します。%SYS> プロンプトが 表 示 されます。これは、 接 続 が 完 了 して、 現 在 は %SYS ネームスペースにいることを 意 味 します。5. 必 要 に 応 じて <strong>Caché</strong> コマンドを 入 力 します。6. セッションを 終 了 するには、[ 接 続 ]→[ 切 断 ] を 選 択 します。また、このターミナルを 終 了 するには、ウィンドウの 右 上にある [ 閉 じる] ボックスをクリックします。<strong>Caché</strong> ターミナルの 使 用 法 35


7バッチ・モードでのターミナルの 使 用 法一 部 のオペレーティング・システムでは、コマンド 行 (DOS ウィンドウなど) からターミナルを 実 行 できます。この 章 の 構 成は、 以 下 のとおりです。• Windows でのエスケープ 文 字• 制 御 引 数• スクリプトの 実 行 例– 例 1 : プロセス 情 報 の 取 得 (バッチ)– 例 2 : プロセス 情 報 の 取 得 (インタラクティブ)7.1 Windows でのエスケープ 文 字Microsoft Windows ではバージョンによって、キャレット 文 字 (^) とパーセント 文 字 (%) の 解 釈 が 異 なります。また、テキストの 特 定 行 を “バッチ” ウィンドウ (DOS プロンプト) に 入 力 したか、バッチ・スクリプトの 入 力 として 追 加 したかによっても、テキストの 特 定 行 の 解 釈 が 異 なります。以 下 の 行 を 異 なるオペレーティング・システムで 記 述 するために 必 要 な 入 力 シーケンスの 相 違 を、この 後 の 表 に 示 します。cterm /console=cn_ap:cache[USER]:^%Dテーブル 7–1: オペレーティング・システムの 違 いオペレーティング・システム環 境ルール入 力 シーケンスWindows 7DOS プロンプトエスケープ 不 要cterm /console=cn_ap:cache[USER]:^%DWindows NT、Windows 2000、Windows XPDOS プロンプト二 重 キャレット (^)文 字cterm /console=cn_ap:cache[USER]:^^%DWindows 7、Windows NT、Windows 2000、Windows XPバッチ・ファイル二 重 キャレット (^)文 字二 重 パーセント(%) 文 字cterm /console=cn_ap:cache[USER]:^^%%D<strong>Caché</strong> ターミナルの 使 用 法 37


バッチ・モードでのターミナルの 使 用 法オペレーティング・システム環 境ルール入 力 シーケンスWindows 9x、Windows MEDOS プロンプトまたはバッチ・ファイル二 重 パーセント(%) 文 字cterm /console=cn_ap:cache[USER]:^%%Dその 他 のオペレーティング・システムについては、 関 連 オペレーティング・システムのドキュメントを 参 照 してください。7.2 バッチ・コマンド 行DOS のコマンド 行 ( 正 確 に 言 えば、cmd.exe) からターミナルを 起 動 することができます。コマンド 行 の 一 般 的 な 形 式 は 次のとおりです。cterm Arg1 Arg2 ... ArgN ScriptFilePath以 下 はその 説 明 です。テーブル 7–2: バッチ・モードでのターミナルの 起 動アイテムctermArg1 ... ArgNScriptFilePath意 味ターミナル・アプリケーションを 起 動 します。Windows 環 境 変 数 の PATH に <strong>Caché</strong> バイナリの 場 所 が 設 定 されている 場 合 は、コマンド 名 cterm または cterm.exe を 使 用 します。それ 以 外 の 場 合 は、 完 全 なパス 名 または 部 分 的 なパス 名 を 使 用 する 必 要 があります。<strong>Caché</strong>の 既 定 のインストールでのバイナリの 場 所 は、install-dir\Bin ディレクトリです。制 御 引 数 ( 次 のセクションで 説 明 します)。スクリプト・ファイルの 保 存 場 所 。7.3 制 御 引 数ターミナル・セッションの 開 始 環 境 を 制 御 する 引 数 は 数 種 類 あります。これらのいくつかは 内 部 用 に 予 約 されているため、ここでは 説 明 しません。 最 も 有 用 な 引 数 は 以 下 のとおりです。注 釈ターミナルを 起 動 する 際 に /console または /server という 制 御 引 数 を 指 定 した 場 合 は、[ 接 続 ] メニュー 項 目 は表 示 されません。7.3.1 /console=この 引 数 では、 接 続 のタイプと、 接 続 に 必 要 なその 他 のデータの 両 方 を 指 定 します。 接 続 タイプは、TELNET 接 続 とローカル・コンソール・アプリケーションへの 接 続 の 2 つです。注 釈/console および /server 引 数 は 両 方 とも 指 定 できません。38 <strong>Caché</strong> ターミナルの 使 用 法


制 御 引 数7.3.1.1 /console=cn_iptcp:この 引 数 は、ターミナルが TELNET 接 続 を 介 してやり 取 りするターゲット・システムを 指 定 します。これは、ローカル・マシン 上 でスクリプトを 実 行 するのに 便 利 です。この 場 合 は、HostAddr にローカル・マシンの IP アドレスとポートを 指 定 します。 次 に 例 を 示 します。cterm /console=cn_iptcp:127.0.0.1[23]7.3.1.2 /console=cn_ap:[]<strong>Caché</strong> を 起 動 して、ターミナル・プロンプトを 開 くことができます。 以 下 はその 例 です。cterm /console=cn_ap:cache[USER]この 行 により、( 未 実 行 の 場 合 ) 指 定 されたインスタンスが 開 始 され、ターミナル・セッションが 開 かれた 後 に、 指 定 されたネームスペースへ 切 り 替 わります。この 場 合 、インスタンス 名 は cache で、ネームスペース 名 は USER となります。ネームスペース 名 はオプションです。ネームスペース 名 を 指 定 しない 場 合 は、 既 定 のネームスペースが 使 用 されます。7.3.1.3 /console=cn_ap:[]:バッチ・ファイルからルーチンを 実 行 することもできます。 例 えば、Windows 7 で 使 用 されるバッチ・ファイル (.bat) に、 以下 の 行 が 記 述 されているとします。cterm /console=cn_ap:cache[USER]:^^%%Dこの 行 により、( 未 実 行 の 場 合 ) 指 定 されたインスタンスが 開 始 され、ターミナル・セッションが 開 かれた 後 に、 指 定 されたネームスペースへ 切 り 替 わり、 指 定 されたルーチンが 実 行 されます。ルーチンが 終 了 したら、ターミナル・セッションは 閉じます。この 場 合 、インスタンス 名 は cache で、ネームスペース 名 は USER となります。ルーチン 名 は ^%D ( 現 在 の 日 付 を 出 力する) となります。この 章 で 前 述 した “Windows でのエスケープ 文 字 ” をお 読 みください。ネームスペース 名 はオプションです。ネームスペース 名 を 指 定 しない 場 合 は、 既 定 のネームスペースが 使 用 されます。7.3.2 /server=この 引 数 は、このターミナル・セッションと 指 定 されたサーバ 間 での 安 全 な 接 続 に 使 用 するサーバの 名 前 を 指 定 します。cterm /server=ServerNameServerName には <strong>Caché</strong> サーバを 指 定 します。 使 用 できるサーバのリストを 確 認 するには、[InterSystems ランチャー] をクリックしてから、[ 優 先 接 続 サーバ] をクリックします。サーバのリストが 表 示 されます。UNIX ® および VMS 以 外 のプラットフォームでは、 以 下 を 確 認 してください。• 所 望 のサーバにおいて、Telnet サービス (%Service_Telnet) が 有 効 であること。( 既 定 ではこのサービスが 有 効ではないことに 注 意 してください。)詳 細 は、"<strong>Caché</strong> セキュリティ 管 理 ガイド" の “サービス” を 参 照 してください。• サーバが 起 動 していること。UNIX ® および VMS では、サーバが 起 動 している 必 要 はありませんが、<strong>Caché</strong> に 直 接 ではなく、シェルにログインすることになります。注 釈/console および /server 引 数 は 両 方 ともに 指 定 できません。<strong>Caché</strong> ターミナルの 使 用 法 39


バッチ・モードでのターミナルの 使 用 法7.3.3 /size=RowsxColsこの 引 数 は、ターミナル 画 面 の 初 期 サイズを 行 数 と 列 数 で 指 定 します。Rows と Cols はどちらも 必 ず 符 号 なし 整 数 で 指定 します。 行 数 と 列 数 の 間 に 入 る x は 上 記 のとおりに 挿 入 する 必 要 があります。この 制 御 引 数 ではスペースは 使 用 できません。Rows および Cols は 次 の 範 囲 で 指 定 します。• 5


例C:\CacheSys\Bin\cterm.exe /console=cn_ap:cache[USER]:^^%STACK前 の 例 でスクリプトが 行 っているレスポンスを 手 動 で 提 供 できます。Enter キーを 押 して Stack Display Action: プロンプトに 応 答 すると、ターミナル・ウィンドウが 閉 じます。<strong>Caché</strong> ターミナルの 使 用 法 41


8その 他 のトピックこの 章 では、 以 下 のその 他 のトピックについて 説 明 します。• 拡 張 キーボードのマッピング• ターミナルの 特 殊 モード• DDE を 使 用 したターミナルの 使 用 法8.1 拡 張 キーボードのマッピングターミナルでは、 拡 張 キーボードに 対 して、 次 に 示 すアプリケーション・キーボード・モードがサポートされます。テーブル 8–1: キー・マッピングキーNum Lockキーパッドの 除 算 記 号 (/)キーパッドの 乗 算 記 号 (*)キーパッドのマイナス 記 号(-)キーパッドのプラス 記 号(+)Shift-キーパッドのプラス記 号 (+)F1、F2、F3、F4Shift-F1 ...Shift-F10マップされた 値PF1PF2PF3PF4キーパッドのコンマキーパッドのマイナス 記 号 (-)PF1、PF2、PF3、PF4 (それぞれのキーに 対 応 )F11 ...F20 (それぞれのキーに 対 応 )拡 張 キーボードのキーパッド 部 分 は、 次 のようにマップされます。<strong>Caché</strong> ターミナルの 使 用 法 43


その 他 のトピックテーブル 8–2: キーボード・マッピングキーInsertHomePage UpDeleteEndPage Downマップされた 値ここに 挿 入検 索前 の 画 面削 除選 択次 の 画 面Pause キーは、 単 独 の XON/XOFF トグル・キーとして 機 能 します。8.2 特 殊 モードターミナルには、キーボード・アクションからのみアクセス 可 能 な 2 つの 特 殊 モードが 用 意 されています。8.2.1 キーの 時 間 計 測 モードキーの 時 間 計 測 モードに 入 る、または 終 了 するには、Alt-Shift-T を 押 します。このモードは、さまざまな 負 荷 状 況 におけるホスト・システムのパフォーマンスの 測 定 に 役 立 ちます。 時 間 計 測 の 実 行 結果 の 出 力 先 は、<strong>Caché</strong> システム・マネージャのディレクトリにある KEYTIMER.LOG ファイルです。8.2.2 学 習 モード学 習 モードに 入 る、または 終 了 するには、Alt-Shift-L を 押 します。これを 実 行 する 場 合 は、このドキュメントで 前 述 したようにロギングを 有 効 にする 必 要 もあります。学 習 モードは、スクリプト・ファイルの 迅 速 なプロトタイプ 化 を 実 現 します。このモードが 有 効 でロギングがアクティブな 場合 は、すべての 受 信 文 字 が 単 純 に 収 集 されるのではなく、ログ・ファイルが 一 連 の wait for と send スクリプト・コマンドになります。このファイルは、ほぼ 再 生 可 能 です。wait for コマンドは、 送 信 したデータに 先 行 する 文 字 を 16 文 字 まで 表 示します。ファイルの 既 定 の 名 前 と 場 所 は、エントリSoftware/Microsoft/Windows/CurrentVersion/Explorer/ComDlg32/OpenSaveMRU/scr によって、レジストリのHKEY_CURRENT_USER ハイブに 指 定 されます。8.3 DDE を 使 用 したターミナルの 使 用 法ターミナルは DDE (Dynamic Data Exchange) リンクをサポートすることによって、 他 のアプリケーションがリモート・ホストとやり 取 りすることを 実 現 しています。このセクションでは、ユーザが DDE に 精 通 していることが 前 提 となっています。ここで 説 明 するトピックは 以 下 のとおりです。• Layout — ステータス 情 報 の 取 得 に 使 用 されます。 例 えば、 行 や 列 のサイズ、 接 続 があるかどうかなどが 取 得 されます。44 <strong>Caché</strong> ターミナルの 使 用 法


DDE を 使 用 したターミナルの 使 用 法• Screen — ターミナル 画 面 からのデータ 収 集 に 使 用 されます。• Message — ターミナル 画 面 またはホストへのデータの 送 信 に 使 用 されます。注 釈Windows タスクでは、DDE の 使 用 時 にターミナルの 複 数 インスタンスを 区 別 できません。このため、 実 行 されているターミナルが 1 つの 場 合 に 限 り、DDE を 使 用 します。8.3.1 DDE Layout 接 続ターミナルは、Layout トピックを 通 じて、 静 的 情 報 と 見 なされるものに 対 する DDE リクエストをサポートします。テーブル 8–3: DDE Layout 接 続アイテムColumnRowhWndConnectedReadScriptTitle返 り 値 の 意 味ウィンドウの 列 数 。ウィンドウの 行 数 。メイン・ウィンドウ・ハンドルの 10 進 数 の 同 等 値 。接 続 がない 場 合 は NULL 文 字 列 、それ 以 外 の 場 合 はタイトル 文 字 列 の "mode: node" と 同 等 値 。最 後 に 受 信 した 文 字 が CTRL/A の 場 合 は 1。OpenVMS システムでは、set terminal/script によってすべての 読 み 取 りでこれを 有 効 化 できます。この 使 用 目 的 は、 画 面 描 画 の 末 尾 の 検 出 です。スクリプトが 実 行 中 の 場 合 は 1、それ 以 外 の 場 合 は 0。ウィンドウのタイトル。8.3.2 DDE Screen 接 続ターミナルは、Screen トピックを 通 じて、 画 面 データに 対 する DDE リクエストをサポートします。 現 在 、 対 象 とする 画 面 行部 分 の 選 択 には、1 つの POKE コマンドを 使 用 できます。テーブル 8–4: DDE Screen 接 続アイテムCursorLineLeftLineRightLineAllPiece返 り 値 の 意 味row;col 形 式 での 現 在 のカーソル 位 置 。現 在 の 行 (CR LF を 除 く)。現 在 行 のカーソル 位 置 より 左 の 部 分 (カーソル 下 の 文 字 は 含 まない)。現 在 行 のカーソル 位 置 より 右 の 部 分 (カーソル 下 の 文 字 を 含 む)。画 面 全 体 ( 各 行 は CR LF で 改 行 される)。現 在 選 択 されている 画 面 行 部 分 (CR LF を 除 く)。注 釈アイテム "Piece" は、"RnnCmmLpp" という 形 式 の 文 字 列 を 使 用 して POKE コマンドと 同 様 の 実 行 ができます。Piece の 要 求 により、nn 行 の mm 列 から 始 まる ( 最 大 ) pp 文 字 の 文 字 列 が 取 得 されます。 画 面 の 左 上 隅 は、行 1、 列 1 になります。8.3.3 DDE Message 接 続ターミナルは、Message トピックを 通 じて、データ 通 信 に 対 する DDE リクエストをサポートします。これらは DDE POKEコマンドによって 実 装 されています。<strong>Caché</strong> ターミナルの 使 用 法 45


その 他 のトピックテーブル 8–5: DDE Message 接 続アイテムSendDisplay返 り 値 の 意 味接 続 がアクティブな 場 合 、DDE メッセージ 値 がホストに 送 信 されます。DDE メッセージ 値 が、ホストから 取 得 されたかのように " 画 面 " に 送 信 されます。46 <strong>Caché</strong> ターミナルの 使 用 法


索 引シンボル エラー, 6ウィンドウ・サイズ, 14, 40ウィンドウ 位 置 , 40, 40エンコード, 15カスタム・キーの 組 み 合 わせ, 14キーの 時 間 計 測 , 28キーの 時 間 計 測 モード, 44コピーと 貼 り 付 け, 10スクリプト・ファイルexample, 22コマンドに 引 数 を 渡 す, 21コンテンツ, 20スクリプトからの 実 行 , 25一 時 停 止 , 20使 用 できるコマンド, 20停 止 , 20実 行 , 19スクロール, 9スパイ・モード, 3ターミナルprompt, 6スクリプト・ファイルの 実 行 , 19スクリプト 例 , 22ネットワーク・エンコード, 15ログ, 11一 時 停 止 , 10中 断 , 8技 術 概 要 , 4終 了 , 8表 示 の 再 開 , 10起 動 , 4デバッグ・プロンプト, 7トランザクション・レベル, 6ネットワーク・エンコード, 15ネームスペース変 更 , 6開 始 , 6バッチ・モードオペレーティング・システムの 違 い, 37制 御 引 数 , 38呼 び 出 し, 38フォント, 選 択 , 13プログラム・スタック・レベル, 7プロンプト, 意 味 , 6リモート・ホスト, 接 続 , 26, 35ログ, 11, 29キーの 時 間 計 測 , 28中 断 , 8印 刷 , 11右 クリック・メニュー, 10学 習 モード, 44応 答 しないターミナル, 10拡 張 キーボード 機 能 , 43物 理 文 字 設 定 , 17画 面クリア, 11サイズ, 14スクロール, 9初 期 サイズ, 40初 期 位 置 , 40, 40大 きいフォントへのサイズ 変 更 , 13色 , 選 択 , 13BBash シェル, 7Bourne シェル, 7break コマンド, 25Ccall script コマンド, 25case match コマンド, 25closelog コマンド, 26connect コマンド, 26cterm コマンド, 38C シェル, 7DDDE Layout 接 続 , 45DDE Message 接 続 , 45DDE Screen 接 続 , 45DDE およびターミナル, 44debug コマンド, 26disconnect コマンド, 26display コマンド, 26Eecho, 26execute コマンド, 27exit コマンド, 27Ggoto コマンド, 27Iif empty コマンド, 28Kkey_starttime コマンド, 28key_stoptime コマンド, 28key_timer コマンド, 28Korn シェル, 7Llogfile コマンド, 29<strong>Caché</strong> ターミナルの 使 用 法 47


Mmultiwait for コマンド, 29MV シェル, 7Nnotify コマンド, 29Oon error コマンド, 30Ppause コマンド, 30promptStack Display Action, 40ターミナル・スクリプト, 29Rreturn コマンド, 30Ssend コマンド, 30subroutine コマンド, 31Tterminate コマンド, 31test コマンド, 31timer コマンド, 32title コマンド, 32TSQL シェル, 7Wwait for コマンド, 32Windows プログラム, 起 動 , 27ZZWELCOME ルーチン, 548 <strong>Caché</strong> ターミナルの 使 用 法

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!