Tôi đã làm điều này:
$ z() { echo 'hello world'; }
Làm sao để tôi bỏ nó đi?
Tôi đã làm điều này:
$ z() { echo 'hello world'; }
Làm sao để tôi bỏ nó đi?
Câu trả lời:
unset -f z
Sẽ bỏ đặt hàm có tên z. Một vài người đã trả lời:
unset z
nhưng nếu bạn có một hàm và một biến có tên z thì chỉ có biến sẽ không được đặt, không phải là hàm.
Trong Zsh:
unfunction z
Đó là một tên khác (có thể nói là tốt hơn) cho unhash -f z
hoặc unset -f z
phù hợp với phần còn lại của gia đình:
unset
unhash
unalias
unlimit
unsetopt
Khi nghi ngờ với những điều như vậy, gõ un<tab>
để xem danh sách đầy đủ.
(Hơi liên quan: Nó cũng tốt đẹp để có chức năng / bí danh như realiases
, refunctions
, resetopts
, reenv
, vv để "tái source
" các tập tin tương ứng, nếu bạn đã tách / nhóm chúng như vậy.)