コマンドが関数呼び出し、スクリプト呼び出し、組み込みコマンド、または外部プログラムであるかどうかを確認する方法は?

コマンドが関数呼び出し、スクリプト呼び出し、組み込みコマンド、または外部プログラムであるかどうかを確認する方法は?

Bashでは、関数呼び出し、スクリプト呼び出し、組み込みコマンド、または外部プログラムをコマンドとして実行できます。

逆に、与えられたコマンド名が関数呼び出し、スクリプト呼び出し、組み込みコマンド、または外部プログラムであるかどうかはどうすればわかりますか?

ありがとうございます。

ベストアンサー1

組み込みコマンドは、typeコマンドが組み込みコマンドであるか、関数であるか、外部プログラムであるかを示します。

> type locate
locate is /usr/bin/locate
> type type
type is a shell builtin

type -t解析しやすい出力を提供します。

typeコンパイルされた実行可能ファイルとスクリプトの間に区別はありません。ただし、与えられた名前が外部コマンドであるときはいつでも、それらを区別fileすることができます。type

> file ~/bin/c
/Users/steved/bin/c: POSIX shell script text executable, ASCII text
> file /usr/bin/locate
/usr/bin/locate: Mach-O 64-bit executable x86_64

おすすめ記事