alias - コマンドの別名を表示または作成する

形式

  • alias [-tx] [name[=value] ...]
  • alias -r
tcsh シェルの場合:
  • alias [name [wordlist ]]

説明

シェル・コマンド行の最初のワードがシェル・キーワードでない場合、alias は、そのワードが現在定義されている別名のリストにあるかどうかをシェルにチェックさせます。 一致するものが見つかった場合、シェルは別名を関連付けられたストリング値に置き換えます。その結果、新しいコマンド行は、シェル関数名、組み込みコマンド、外部コマンド、または他の別名で始まることになります。

シェルは、別名の置換を実行するとき、value がブランクで 終わっているかどうかをチェックします。そうであれば、シェルはコマンド行の次のワードが 別名であるかもチェックします。次にシェルは、同じ規則に従って新しいコマンド行に別名があるかをチェックし、それらを展開表示します。この処理は、コマンド行に別名がなくなるか、または別名の展開中に反復が起きるまで継続されます。

パラメーターを指定しないで alias を呼び出すと、現在定義されているすべての別名およびそれらの値が表示されます。値は、シェルへの再入力に便利なように、適切な引用符を付けて表示されます。

name=value の形式のパラメーターを 指定して alias を呼び出すと、name で指定した 各機能名に対して、value で指定したストリング値の別名が作成されます。

value に円記号が含まれている別名を定義する場合 は、その前にもう 1 つ円記号を入れる必要があります。シェルは 展開表示を実行するときに、円記号をエスケープ文字と解釈します。value を二重引用符で囲む場合は、2 つの円記号の前にもう 1 つ円記号を追加してください。追加の円記号が必要になるのは、シェルが別名を割り当てるときと、それを展開するときの両方で、文字をエスケープする (つまり、シェルが文字を通常のように解釈しない) からです。

1 つの円記号を表すために 4 つの円記号を使用するのを避けるためには、value を二重引用符ではなく単一引用符で囲んでください。これは、シェルは割り当てのときに、単一引用符で囲まれた文字をエスケープしないからです。その結果、シェルは別名を展開表示するときだけ 単一引用符の中の文字をエスケープすることになります。

name を指定し、その割り当て値を指定せずに alias を 呼び出すと、機能名 (name) とそのストリング値 (value) が、適切な引用符と共に表示されます。

DBCS の推奨事項: 別名を指定する場合には、1 バイト文字 を使用します。これは、POSIX の標準に、別名は POSIX のポータブル文字セットの文字のみを含んでいること、と述べられているためです。
tcsh シェルでは次のとおりです。
  • 引数を付けない場合、tcsh シェルでの alias はす べての別名を出力します。
  • name を付けた場合、alias は name (名前) の別名 を出力します。 namewordlist を付けた場合には、aliasname の別名として wordlist を 割り当てます。wordlist はコマンドおよびファイル名の置換が行 われます。namealias および unalias にすることはできません。

unalias - 別名定義を削除するの tcsh シェルでの unalias に関する情報も参照してください。

オプション

-r
すべてのトラックされた別名を除去する。
-t
コマンド行上の各 name を、トラックされた別名にします。それぞれの トラックされた別名は、絶対パス名になります。したがって、コマンドが出されたとき、シェルは PATH ディレクトリーの検索をしません。最初に起動されたときに、シェルはトラックされた別名の絶対パス名を別名に割り当てます。シェルは、PATH 変数を変更した後、最初に別名が使用されたときにパス名を再割り当てします。
次のコマンド
set -h
を入力すると、そのあとシェルで使用される各コマンドは、自動的にトラックされた別名になります。-t を指定し、名前は指定しないで alias を 実行した場合、現在定義されているすべてのトラックされた別名が、適切な引用符と共に表示されます。
-x
コマンド行上の各別名 name をエクスポートするためにマークします。コマンド行に名前を指定しないで -x を指定した場合は、alias はすべてのエクスポートされた別名を表示します。 エクスポートされた別名だけが、シェル・スクリプトを実行するシェルに 渡されます。
いくつかの別名がシェルに組み込まれています。それらのいくつかを以下に示します。
alias autoload="typeset -fu"
alias functions="typeset -f"
alias hash="alias -t"
alias history="fc -l"
alias integer="typeset -i"
alias nohup="nohup "
alias r="fc -s"
alias stop="kill -STOP"
alias suspend="stop ¥$¥$"

これらの別名は、すべて変更および削除できます。別名の変更は、現行のシェル、およびコマンドで暗黙的に起動されたすべてのシェル・スクリプトおよび子シェルでは、そのまま引き続き有効になります。これらの別名は、新しいシェルがコマンド行で起動されるたびに、デフォルトの組み込み値にリセットされます。

  1. 次のコマンド
    alias ls="ls -C"
    は、ls を別名として定義しています。この時点よりあとでは、ls コマンドを出すと、デフォルトによって複数列の出力が作成されます。
  2. tcsh シェルの場合、!! history コマンドに別名を割り当てるには、¥!¥! ではなく、¥!-1 を使用します。例:
    alias mf 'more ¥!-1$'
    は、直前に入力されたコマンドの最後の引数が指定するファイルを調べるために別名を作成します。例えば、次のとおりです。
    alias mf 'more ¥!-1$'
    echo "We love tcsh." > file1
    mf
    
    
    We love tcsh.
    "file1" (EOF)
    ここで、mf は直前のコマンドの最後の 引数 (file1) を取ってきて、more コマンドで そのファイルを表示します。

ローカライズ

alias は、以下のローカライズ環境変数を使用します。
  • LANG
  • LC_ALL
  • LC_CTYPE
  • LC_MESSAGES
  • NLSPATH

詳しくは、ローカライズを参照してください。

使用上の注意

  1. alias は、組み込みシェル・コマンドです。
  2. エクスポートされた別名は、現行のシェル環境とその子プロセスでのみ使用可能 であるため、新しくスタートした (例えば、exec sh コマンド で) シェル環境では使用可能ではありません。すべてのシェル環境で別名を 使用可能にするには、別名を、ENV ファイルにエク スポートされていない別名として定義してください。このファイルは、新し いシェルが稼働するたびに実行されます。

終了値

0
正常終了。
1
別名を設定できないため失敗。
2
コマンド行のオプションが正しくないための失敗。

一連の名前の値を判別するために alias を使用した場合は、終了値は現在別名として定義されていない名前の数値になります。

移植性

POSIX.2 ユーザー移植性拡張UNIX Korn シェル

-t および -x オプションは、POSIX 標準の拡張です。

関連情報

fchashnohupsetsh typesetunaliastcsh