2011-07-24 10 views
44

私は現在、プロジェクトごとのエイリアスと関数を定義することによって、現在のユーザーのシェルに追加するプログラムをビルドしています。これらのエイリアスと関数は、確かに、例えばcdprojのような同じ名前を持ちます。これは、プロジェクトのルートにcdとなります。関数の定義を削除する(同等のunalias)

他のプロジェクトのエイリアスと関数を定義する前に、プロジェクトを変更するときに以前に定義されたエイリアスと関数を削除したいのですが、bashとzshの両方でunaliasというエイリアスを削除できます。おそらく、zsh

に関数は、my_function

+0

興味深いことに、これは完全に複製ではありません。問題は、bashだけではありません。 'zsh 'への参照もあります。 –

答えて

66
unset -f my_function 

が削除されます(または設定解除)、私はこの古き良き'15、BUに少し遅刻しますこの機能は持続します。

+1

'-f'は、通常の変数を動揺させるのではなく、関数のためのものです。この複製で説明します:http://stackoverflow.com/a/245409/1695680 – ThorSummoner

9

unfunction my_functionを?機能のために同じことを行う

+0

ニース!おそらく少し扱いに​​くいですが、これは 'unalias'と一貫しています。 – g33kz0r

+0

それは決して遅すぎることはありません。ありがとう。 –

関連する問題