zsh のすべての関数を設定解除するにはどうすればよいですか?

zsh のすべての関数を設定解除するにはどうすればよいですか?

unset -f $FUNCTION_NAMEbash / zsh で単一の関数を設定解除するために使用できることは知っていますが、すべての関数を設定解除するにはどうすればよいでしょうか?

答え1

シェル内ではzsh無効にするすべての関数を使用する

disable -f -m '*'

(文字通り、「名前が一致する各機能を無効にします*」)。

その後、同様の呼び出しで再度有効にすることができますenable

unset同様の方法で、現在の環境から関数を完全に削除することもできます。

unset -f -m '*'

答え2

連想配列functions定義されたすべての関数(自動ロードスタブを含む)が含まれているので、${(k)functions}定義された関数の名前のリストに展開されます。

unset -f ${(k)functions}

関連情報