ObjectScript シェルのカスタマイズ
ここでは、ObjectScript シェルをカスタマイズする方法を説明します。
シェル内でのルーチンの定義
外部エディタを使用せずに、ルーチンを定義 (およびそれを実行) できます。以下のトピックを参照してください。
-
ターミナルからのルーチンの作成 (この手法では、ZLOAD、ZINSERT、および ZSAVE コマンドを使用します)
開始ネームスペースの変更
ObjectScript シェルを開始する際、そのユーザは、特定のネームスペースへのアクセス権を持ち、そのネームスペースでコードを実行することができます。このオプションは、ユーザ定義の [開始ネームスペース] オプションで制御されます。"ユーザ・アカウント" を参照してください。
プロンプトのカスタマイズ
既定のプロンプトをカスタマイズするには、管理ポータルを使用して、構成オプション TerminalPrompt を設定します。これを見つけるには、[システム管理]→[構成]→[追加設定]→[開始] を選択します。例えば、プロンプトには、使用するシステムの構成名を含めることができます。
^ZWELCOME ルーチン
ObjectScript シェルが起動すると、コードは、%SYS ネームスペースに ^ZWELCOME という名前のルーチンが存在するかどうかをチェックします。該当するルーチンが見つかると、シェルのログイン・シーケンスがある場合は、その直前にそのルーチンを呼び出します。このルーチンは、その名前が意図するように、カスタムな識別情報やようこそメッセージをユーザに表示する目的で使用されます。
以下はその簡単な例です。
^ZWELCOME() PUBLIC ;
; Example
Write !
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
^ZWELCOME ルーチン (%SYS ネームスペースに配置する必要あり) を作成するには、管理者特権と IRISSYS データベースへの書き込み権限が必要です。
^ZWELCOME ルーチンは、空の $USERNAME および %ALL に設定した $ROLES を指定して、%SYS ネームスペースで実行します。使用の際は、^ZWELCOME が失敗した場合でも影響が出ないようにする必要があります。また、このルーチンで $ROLES 変数を変更しないでください。