我知道我可以用來unset -f $FUNCTION_NAME
取消設定 bash / zsh 中的單一函數,但如何取消設定所有函數?
答案1
在zsh
shell 中,您可以停用所有功能都使用
disable -f -m '*'
(字面意思是“禁用名稱匹配的每個函數*
”)。
然後,您可以透過類似的呼叫再次啟用它們enable
。
您也可以使用unset
類似的方式從目前環境中完全刪除這些功能:
unset -f -m '*'
答案2
關聯數組functions
包含所有定義的函數(包括自動載入存根),所以${(k)functions}
展開為已定義函數的名稱清單。
unset -f ${(k)functions}