書式
type [OPTIONS] NAME [NAME ...]

概要

type コマンドは
オプションを付けないと、

NAME コマンドが
どのように解釈されるのかを示します。

以下のオプションを受け付けます。

-a / --all
name に対してすべての定義を表示する
-f / --no-functions
関数とビルトインの検索を抑制する
-t / --type
種類を表示する

  • 関数→ function
  • ビルトイン→ builtin
  • 実行ファイル→ file
-p / --path
実行可能ファイル名を表示する。
type -tfile と表示しないときは何も表示しない。
-P / --force-path
実行可能ファイル名を表示する。
ファイルに PATH が通ってなければ何も表示しない。
-q / --quiet
全く表示しない。
終了ステータス をテストするときに役立つ。

実行例

fg はビルトインです。

$ type fg
fg is a builtin
$ type -t fg
builtin

cdhistory のように
ビルトインと関数が
用意されているものもあります。

$ type -a -t cd
function
builtin
$ type cd
cd is a function with definition
function cd --description 'Change directory'
略
end
$ type -a cd
cd is a function with definition
function cd --description 'Change directory'
略
end
cd is a builtin

which は実行ファイルです。

$ type which
which is /usr/bin/which
$ type -t which
file
$ type -p which
/usr/bin/which
$ type -P which
/usr/bin/which

echo はビルトインと
実行ファイルです。

ビルトインの実行が
優先されますので
type -p
何も表示しません。

$ type -at echo
builtin
file
$ type -f echo
echo is /bin/echo
$ type -p echo
$ type -P echo
/bin/echo

最後までお読みいただき、ありがとうございました。参考になれば嬉しいです。