如何取消設定 zsh 中的所有功能?

如何取消設定 zsh 中的所有功能?

我知道我可以用來unset -f $FUNCTION_NAME取消設定 bash / zsh 中的單一函數,但如何取消設定所有函數?

答案1

zshshell 中,您可以停用所有功能都使用

disable -f -m '*'

(字面意思是“禁用名稱匹配的每個函數*”)。

然後,您可以透過類似的呼叫再次啟用它們enable

您也可以使用unset類似的方式從目前環境中完全刪除這些功能:

unset -f -m '*'

答案2

關聯數組functions包含所有定義的函數(包括自動載入存根),所以${(k)functions}展開為已定義函數的名稱清單。

unset -f ${(k)functions}

相關內容