移動先: 概要 戻り値 MEL 例.

概要

alias <aliasName> <commandName> [ arg_1 ... arg_n ] or { list-of-statements }

alias は 「元に戻す」が可能、「照会」が不可能「編集」が不可能 です。

MEL のエイリアス(別名)の機能は、csh エイリアスと同じではありません。 MEL によるエイリアスの解釈は、エイリアス名を指定したテキストで置き換えて再スキャンするというものではありません。そのようなことは、MEL にはできません。これは、MEL が csh のようなコマンド ライン インタプリタではないからです。MEL では、エイリアス コマンドを使用すると、ユーザが記述した通常の MEL プロシージャと同じプロシージャ テーブルにコマンド名が入力され、またそのコマンドに渡された引数リストへのポインタが維持されます(最初の書式の場合)。スクリプトでエイリアスが使用されると、プロシージャ コールと同様に処理されます。ステートメント リストとして指定したエイリアスに引数を渡すことはできません。

MEL は、実際のマシン コードではなくデータ構造を生成するという意味で、インタプリタであるといえます。 つまり、マシンに出力を実行させる代わりに、MEL がコード用に生成されたデータ構造を解釈して実行します。 シェル インタプリタは、入力を読み込みながら実行します。このため、その場でテキスト置換を行うことができます。ただし MEL には、MEL 版エイリアスに欠落している機能を補うためのプロシージャが備わっています。

注記:

  1. エイリアスはネストすることができます。
  2. エイリアスに変数を使用することはできません。これは、MEL がコマンド ライン インタプリタではないためです。ローカル変数に使用されるものをエイリアスする場合、MEL はその変数へのアクセスが有効範囲(スコープ)外であれば検出することができません。MEL でこういったエラー(read: expensive)を検出することは困難です。
  3. エイリアスは、プロシージャやコマンドと同じ有効範囲を持ちます。 ローカル プロシージャをエイリアスする場合、ローカル プロシージャが有効範囲外になると、エイリアスは利用できなくなります。
  4. "alias" は、ディレクティブ(指令)であってコマンドではありません。エイリアスは、実際にスクリプトが実行されるときではなく、スクリプトが読み込まれたときに作成されます。したがって、ステートメントで作成するかコード パスに基づいていなければ、"alias" ディレクティブを設定することはできません。エイリアスは、コードが実行されるまでにすでに作成されています。エイリアスを条件付きで作成する場合、"eval" ディレクティブに埋め込んで実行時にコンパイルします。

戻り値

なし

MEL 例

alias s sphere -r;
s 2.2;  // creates a sphere of radius 2.2.
alias s2 s 2;  // nested alias: sphere -r 2.
alias es s -esw;
es 90;  // syntax error: sphere -r -esw
alias jj { select -all; delete; };