Посмотреть текущее определение функции оболочки


11

Поэтому я постоянно редактирую bashrc, и у меня открыт терминал с определением рабочей функции, хотя bashrc был обновлен с неправильным определением функции. (Поскольку определение не изменяется, пока я не получу обновленный bashrc) Как я могу найти определение рабочей функции в этом случае? Например, если я наберу:

alias function_name

Я могу видеть, что определение для этого псевдонима. Есть ли команда, похожая на функцию? Если нет, есть ли команда для вывода всего bashrc, который использует текущий терминал?

Ответы:


18
typeset -f function

отображает текущее определение указанной функции. Это работает в ksh (где это произошло), bash и zsh. (NB в Zsh, type -f, which, functionsи whence -fтакже показывают определение функции.)


Вы также можете использовать whence -cvв Zsh. -vВариант не сказать вам, если нет такого псевдонима или функций (или иначе исполняемые в вас PATH) вообще. Если вы используете это много (как я), вы можете псевдоним его для команды из одного слова.
Эмануэль Берг
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.