Я сделал это:
$ z() { echo 'hello world'; }
Как мне от этого избавиться?
unset -f z
Будет сброшена функция с именем z. Пара человек ответили:
unset z
но если у вас есть функция и переменная с именем z, то будет отменена только переменная, а не функция.
В зш:
Это другое (возможно, лучшее) имя для
unhash -f z
илиunset -f z
соответствует остальной семье:unset
unhash
unalias
unlimit
unsetopt
Если вы сомневаетесь в таких вещах, введите
un<tab>
полный список.(Немного связанные: Это также хорошо иметь функции / псевдонимы , как
realiases
,refunctions
,resetopts
,reenv
и т.д. , чтобы «повторноsource
» соответствующие файлы, если вы разделены / сгруппировали их как таковые.)источник