Если вы используете Bash (или другую оболочку, похожую на Bourne), вы можете использовать type.
type command
сообщит вам, commandявляется ли встроенная оболочка, псевдоним (и, если да, псевдонимом чего-либо), функцией (и если да, то она перечислит тело функции) или хранится в файле (и если да, путь к файлу) ,
Для получения дополнительной информации о «двоичном» файле, вы можете сделать
file "$(type -P command)"2>/dev/null
Это ничего не даст, если commandвстроен псевдоним, функция или оболочка, но вернет больше информации, если это скрипт или скомпилированный двоичный файл.
В ЗШ вы можете проверить aliases, functionsи commandsмассивы.
(( ${+aliases[foo]}))&& print 'foo is an alias'(( ${+functions[foo]}))&& print 'foo is a function'(( ${+commands[foo]}))&& print 'foo is an external command'
Там же builtins, для встроенных команд.
(( ${+builtins[foo]}))&& print 'foo is a builtin command'
Ответы:
Если вы используете Bash (или другую оболочку, похожую на Bourne), вы можете использовать
type
.сообщит вам,
command
является ли встроенная оболочка, псевдоним (и, если да, псевдонимом чего-либо), функцией (и если да, то она перечислит тело функции) или хранится в файле (и если да, путь к файлу) ,Для получения дополнительной информации о «двоичном» файле, вы можете сделать
Это ничего не даст, если
command
встроен псевдоним, функция или оболочка, но вернет больше информации, если это скрипт или скомпилированный двоичный файл.Ссылки
источник
Ответ зависит от того, какую оболочку вы используете.
Для zsh встроенная оболочка
whence -w
скажет вам именно то, что вы хотитенапример
источник
В ЗШ вы можете проверить
aliases
,functions
иcommands
массивы.Там же
builtins
, для встроенных команд.источник