188

我已经这样做了:

$ z() { echo 'hello world'; }

我该如何摆脱它?

4

2 回答 2

288
unset -f z

将取消设置名为 z 的函数。几个人的回答是:

unset z

但是如果您有一个函数和一个名为 z 的变量,则只有该变量将被取消设置,而不是该函数。

于 2008-10-29T00:42:16.417 回答
5

在 Zsh 中:

unfunction z

unhash -f z这是or的另一个(可以说是更好的)名称,unset -f z并且与以下家族的其他成员一致:

  • unset
  • unhash
  • unalias
  • unlimit
  • unsetopt

如果对此类事情有疑问,请键入un<tab>以查看完整列表。

(稍微相关:如果您已将它们分开/分组,那么使用 , , , 等函数/别名来“重新”各个realiases文件refunctionsresetopts很好。reenvsource

于 2019-12-19T19:49:49.547 回答