シェル関数を削除/削除するにはどうすればよいですか?


180

私はこれを行いました:

$ z() { echo 'hello world'; }

どうすれば取り除くことができますか?

回答:


271
unset -f z

zという名前の関数の設定を解除します。カップルの人々は答えました:

unset z

ただし、関数とzという名前の変数がある場合、変数ではなく関数のみが設定解除されます。


これは、Bashだけでなく、POSIX準拠のシェルにも適用されることに注意してください。
フランクリンユー

2

Zshの場合:

unfunction z

これは、unhash -f zまたはの別の(おそらくより良い)名でunset -f zあり、以下のファミリーの他のメンバーと一致しています。

  • unset
  • unhash
  • unalias
  • unlimit
  • unsetopt

そのようなことに疑問がある場合は、入力un<tab>して完全なリストを表示してください。

(少し関連:ようですが、機能/別名を持つこともうれしいですrealiasesrefunctionsresetoptsreenv、などは「再ためにsourceあなたが/分離など、それらをグループ化した場合、それぞれのファイルを」。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.