unset -f $FUNCTION_NAME
bash / zsh で単一の関数を設定解除するために使用できることは知っていますが、すべての関数を設定解除するにはどうすればよいでしょうか?
答え1
シェル内ではzsh
、無効にするすべての関数を使用する
disable -f -m '*'
(文字通り、「名前が一致する各機能を無効にします*
」)。
その後、同様の呼び出しで再度有効にすることができますenable
。
unset
同様の方法で、現在の環境から関数を完全に削除することもできます。
unset -f -m '*'
答え2
連想配列functions
定義されたすべての関数(自動ロードスタブを含む)が含まれているので、${(k)functions}
定義された関数の名前のリストに展開されます。
unset -f ${(k)functions}