Як перевірити, чи команда є псевдонімом, функцією чи двійковим?


Відповіді:


23

Якщо ви перебуваєте на Bash (або іншій оболонці Борна), ви можете використовувати type.

type command

підкаже, чи commandє вбудована оболонка, псевдонім (і якщо так, то псевдонім, що), функція (і якщо так, то вона перелічить тіло функції) чи зберігається у файлі (і якщо так, шлях до файлу) .

Для отримання додаткової інформації про "двійковий" файл ви можете це зробити

file "$(type -P command)" 2>/dev/null

Це нічого не поверне, якщо commandвбудований псевдонім, функція або оболонка, але повертає більше інформації, якщо це сценарій або скомпільований двійковий файл.

Список літератури


3

Відповідь залежить від того, яку оболонку ви використовуєте.

Щодо zsh, вбудована оболонка whence -wскаже вам, що саме ви хочете

напр

$ whence -w whence
whence : builtin
$ whence -w man     
man : command 

1

В ЗШ ви можете перевірити 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'
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.