我这样做了:
$ z() { echo 'hello world'; }
我怎么才能摆脱它?
unset -f z
将取消名为 z 的函数的设置:
unset z
但是如果你有一个函数和一个名为 z 的变量,那么只有变量是未设置的,而不是函数。
在 Zsh 中:
unfunction z
这是 unhash -f z或 unset -f z的另一个(可以说是更好的)名字,与家族中的其他成员一致:
unhash -f z
unset
unhash
unalias
unlimit
unsetopt
如果对这些事情有疑问,输入 un<tab>查看完整的列表。
un<tab>
(稍微相关一点: 如果你已经将它们分开/分组,那么使用函数/别名(如 realiases、 refunctions、 resetopts、 reenv等)来“ re-source”各自的文件也很不错。)
realiases
refunctions
resetopts
reenv
source