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

11

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

alias function_name

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

Forethinker
источник

Ответы:

18
typeset -f function

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

Kevin
источник
Вы также можете использовать whence -cvв Zsh. -vВариант не сказать вам, если нет такого псевдонима или функций (или иначе исполняемые в вас PATH) вообще. Если вы используете это много (как я), вы можете псевдоним его для команды из одного слова.
Эмануэль Берг