2011-07-24 45 views
44

我目前正在構建一個程序,它通過定義每個項目的別名和函數,根據他正在處理的項目添加到當前用戶的shell中。這些別名和功能可能並且肯定會有相同的名稱,例如cdproj,這將cd作爲項目的根。我知道我可以在bash和zsh中刪除一個別名爲unalias,但是我將如何在刪除別名時使用unalias。但是,我將如何刪除別名和別名中的別名(unalias)做同樣的功能?刪除函數定義(相當於unalias)

+0

有趣的是,這不完全是重複的。問題不僅僅是bash。還有一個對'zsh'的引用。 –

回答

66
unset -f my_function 

將刪除(或取消)函數創建my_function

+1

'-f'是函數,而不是顛倒常規變量。在此重複解釋:http://stackoverflow.com/a/245409/1695680 – ThorSummoner

9

unfunction my_functionzsh

或許,我有點晚了在這個好老'15,BU此功能仍然存在。

+0

好!這更符合'unalias',儘管可能有點笨拙。 – g33kz0r

+0

永遠不會太晚。謝謝。 –