2011-07-24 19 views
44

Actualmente estoy creando un programa que se agrega al shell del usuario actual en función del proyecto en el que está trabajando, definiendo alias y funciones por proyecto. Estos alias y funciones pueden tener y tendrán ciertamente el mismo nombre como por ejemplo cdproj, que sería cd en la raíz del proyecto.Eliminar definición de función (equivalente a unalias)

Me gustaría eliminar alias y funciones definidas previamente al cambiar el proyecto (antes de (re) definir alias y funciones para el otro proyecto. Sé que puedo eliminar un alias con unalias en bash y zsh, pero ¿cómo lo haría? hacer lo mismo con una función?

+0

Lo interesante es que esto no es totalmente un duplicado. La pregunta no es solo sobre bash. También hay una referencia a 'zsh'. –

Respuesta

66
unset -f my_function 

eliminará (conectado o desconectado) la función mi_funcion

+1

'-f' es para funciones, en lugar de alterar una variable regular. Explicado en este duplicado: http://stackoverflow.com/a/245409/1695680 – ThorSummoner

9

unfunction my_function en zsh

Tal vez, soy un poco tarde en este buen viejo '15, bu t esta característica persiste.

+0

¡Agradable! Esto es más consistente con 'unalias', aunque quizás un poco difícil de manejar. – g33kz0r

+0

Nunca es demasiado tarde. Gracias. –

Cuestiones relacionadas