删除函数定义(unalias 等效)

我目前正在构建一个程序,它通过定义每个项目的别名和函数,根据当前用户正在从事的项目,添加到用户的 shell 中。这些别名和函数可能而且肯定会有相同的名称,例如 cdproj,它将 cd作为项目的根。

我想删除以前定义的别名和功能时,更改项目(之前(重新)定义别名和功能的其他项目。我知道我可以删除 bash 和 zsh 中使用 unalias的别名,但是如何对函数执行相同的操作呢?

15950 次浏览
unset -f my_function

将删除(或取消设置)函数 my _ function

zsh中的 unfunction my_function

也许,我有点晚了,在这个良好的老的’15,但这个特点仍然存在。