utte

type コマンドがどう解釈されるか(組み込み、エイリアス、実行ファイルなど)を表示する

type [オプション] 名前...

試してみる

主なオプション

-t種類を alias、keyword、function、builtin、file のどれかで表示する
-a同じ名前のものをすべて表示する
-p実行ファイルとして実行されるときのパスを表示する

解説

シェルの組み込みコマンド

type は bash の組み込みコマンドで、名前が何として実行されるかを教えてくれます。which が PATH にある実行ファイルしか調べないのに対し、type は次のすべてを調べます。

種類 例 表示
シェルの予約語 if keyword
エイリアス ll alias
シェルの関数 自分で定義 function
組み込みコマンド cd builtin
実行ファイル /usr/bin/ls file

実行の優先順位

名前を入力したとき、bash はおおむね、エイリアス、関数、組み込みコマンド、PATH 上の実行ファイルの順に探して実行します。同じ名前が複数あるとき、どれが動くかは type -a で確かめられます。

見つからないとき

見つからないと、メッセージを出して終了コード1で終わります。

実行ファイルの場所

実行ファイルなら「ls is /usr/bin/ls」のようにパスが表示されます。パスだけが欲しいときは -p か、which を使います。

エイリアスについて

対話的なシェルでは、ls が ls --color=auto のエイリアスになっている場合があります。そのときは type ls で、エイリアスであると表示されます。

関連するコマンド

LinuC 101の出題範囲