Remove function definition (unalias equivalent) [duplicate]
I'm currently building a program which adds to the current user's shell depending on the project he's working on, by defining per-project aliases and functions. These aliases and functions may and will certainly have the same name like for instance cdproj
, which would cd
to the project's root.
I would like to remove previously defined aliases and functions when changing project (before (re)defining aliases and functions for the other project. I know I can remove an alias with unalias
in both bash and zsh, but how would I do the same for a function?
Solution 1:
unset -f my_function
will remove (or unset) the function my_function
Solution 2:
unfunction my_function
in zsh
Perhaps, I'm a bit late in this good old '15, but this feature persists.