web-dev-qa-db-ja.com

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

unset -f $FUNCTION_NAME bash/zshで単一の関数の設定を解除するには、すべての関数の設定を解除するにはどうすればよいですか?

2
Teddy C

zshシェルでは、disableすべての関数を使用して

disable -f -m '*'

(文字通り、「名前が*に一致する各関数を無効にする」)。

その後、類似のenable呼び出しでそれらを再度有効にすることができます。

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

unset -f -m '*'
5
Kusalananda

連想配列 functions には、定義されたすべての関数(オートローディングスタブを含む)が含まれているため、 ${(k)functions} は、定義された名前のリストに展開されます関数。

unset -f ${(k)functions}