在 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