Ik heb dit gedaan:
$ z() { echo 'hello world'; }
Hoe kom ik er vanaf?
Antwoord 1, autoriteit 100%
unset -f z
Hiermee wordt de functie met de naam z uitgeschakeld. Een paar mensen hebben geantwoord met:
unset z
maar als je een functie en een variabele met de naam z hebt, wordt alleen de variabele uitgeschakeld, niet de functie.
Antwoord 2, autoriteit 2%
In Zsh:
unfunction z
Dat is een andere (aantoonbaar betere) naam voor unhash -f z
of unset -f z
en komt overeen met de rest van de familie van:
unset
unhash
unalias
unlimit
unsetopt
Typ bij twijfel over dergelijke zaken un<tab>
om de volledige lijst te zien.
(Enigszins verwant: het is ook fijn om functies/aliassen te hebben zoals realiases
, refunctions
, resetopts
, reenv
, enz. om de respectieve bestanden te “her-source
“, als u ze als zodanig hebt gescheiden/gegroepeerd.)