2011-07-24 15 views
44

Obecnie buduję program, który dodaje do powłoki bieżącego użytkownika, w zależności od projektu, nad którym pracuje, definiując aliasy i funkcje na potrzeby projektu. Te aliasy i funkcje mogą i na pewno będą mieć taką samą nazwę, jak na przykład cdproj, która będzie cd do katalogu głównego projektu.Usuń definicję funkcji (odpowiednik unalias)

Chciałbym usunąć wcześniej zdefiniowane aliasy i funkcje podczas zmiany projektu (przed (ponownym) zdefiniowaniem aliasów i funkcji dla drugiego projektu Wiem, że mogę usunąć alias z unalias zarówno w bashu, jak i zsh, ale jak bym to zrobił? zrobić to samo dla funkcji?

+0

Interesujące jest to, że nie jest to całkowicie duplikat. Pytanie nie dotyczy tylko basha. Jest też odniesienie do 'zsh'. –

Odpowiedz

66
unset -f my_function 

usunie (lub wyłączony) funkcja My_function

+1

'-f' jest dla funkcji, w przeciwieństwie do niepotrzebnej zmiennej regularnej. Wyjaśnione w tym duplikacie: http://stackoverflow.com/a/245409/1695680 – ThorSummoner

9

unfunction my_function w zsh

może jestem trochę późno w tej starej dobrej '15, bu t ta funkcja się utrzymuje.

+0

Nice! Jest to bardziej zgodne z 'unalias', choć może trochę nieporęczne. – g33kz0r

+0

Nigdy nie jest za późno. Dzięki. –

Powiązane problemy