Skip to main content

コマンドの履歴とエイリアス

ObjectScript シェルでは、広範な行呼び出し機能が、前のコマンドを検索するオプションと共にサポートされているだけでなく、コマンドのエイリアスを定義する機能もサポートされています。これらのオプションは ObjectScript の拡張機能ではないため、ルーチンやメソッドで使用することはできません。

行呼び出し機能

ObjectScript シェルでは、上矢印以外にも、履歴バッファに保存されたコマンドのリストを使用する、より広範な行呼び出し機能もサポートされています。この機能により、以前に入力した特定のコマンドを呼び出すことができます。

行呼び出しを有効化するには、コロン (:) に続けて、コマンドを明確に特定する文字を 1 つ以上入力します。

さまざまな特殊なコマンドを発行して、コマンド・プロンプトで行呼び出しを操作できます。まず、:? は、クイック・ヘルプを表示します。

USER>:?
 :<number>    Recall command # <number>
 :alias       Create/display aliases
 :clear       Clear history buffer
 :history     Display command history
 :unalias     Remove aliases

:history コマンドは、履歴バッファに保存されているコマンドの番号付きリストを生成します。以下の例のように、その番号を使用して特定のコマンドを呼び出すことができます。

USER>:h[istory]
 1: zn "%SYS"
 2: Do ^SYSLOG
 3: write "Hello"," World!"
 4: write $J
 5: :h

$SYS>:3
write "Hello"," World!"
Hello World!

:alias コマンドによって、プロンプトでよく入力する ObjectScript コマンドのショートカットが作成され、:unalias <name> によって、その名前に関連付けられた定義が削除されます。"エイリアス" を参照してください。

:clear コマンドは、呼び出しバッファの内容をすべて削除しますが、~\.iris_history は削除しません。

エイリアス

コマンドを発行するためのショートカットを定義するには、:alias コマンドに続けて、コマンドに割り当てる別名 (エイリアス)、そのエイリアスに割り当てるコマンドの順に入力します。セッションの残りの部分では、: 文字の後にエイリアスを入力することで該当のコマンドを発行できます。

次のセッション例では、1 行目で :alias コマンドを発行することにより、2 行目で文字列 :u を入力するだけで、ネームスペースを USER ネームスペースに切り替えることができます。

%SYS>:alias u set $namespace="USER"
%SYS>:u
USER>

エイリアスを使用してコマンドに引数を渡すこともできます。エイリアス定義の一部として、先頭に $ 文字を使用した番号付きのホスト変数を、コマンドの各引数のプレースホルダとして指定します。エイリアスに続けてホスト変数の番号の順序で引数の値を指定し、エイリアスを起動します。

例えば、以下のコマンドを発行すると、ファイルをロードするショートカット (load) が作成されます。ファイルのある場所を 1 番目の引数 ($1) で指定し、2 番目の引数 ($2) でフラグを指定します。

USER>:alias load Do $System.OBJ.Load("$1","$2")

このエイリアスを使用して、パス /directory/foobar.xml にある、ck のフラグを設定したファイルをロードするには以下を入力します。

USER>:load /directory/foobar.xml ck

コマンドのプレースホルダ変数に ObjectScript 式の一部を使用することもできます。例えば、以下のコマンドでは $SELECT 関数を使用して、2 番目の引数を指定しない場合の既定の 2 番目の引数として "ck" を設定します。

USER>:alias load Do $System.OBJ.Load("$1", $S("$2"="":"ck", 1:"$2"))

エイリアス定義を削除するには、:unalias コマンドを、それに続けてエイリアス名を指定して入力します。引数を指定せずに :alias を入力すると、現在のセッションで定義されているエイリアスが一覧表示されます。

各セッションの起動時に ObjectScript シェルが自動的に設定するエイリアス定義のリストを提供することもできます。こういったエイリアスは、ホーム・ディレクトリ内の .iris_init という名前のファイルに (1 行に 1 つずつ) 定義します。このディレクトリは、具体的には、オペレーティング・システム内の現在のユーザのホーム・ディレクトリとなります。(例えば、Windows の場合、現在のユーザに対応する C:\Users\ サブディレクトリです。)

FeedbackOpens in a new tab