web-dev-qa-db-ja.com

エイリアスを定義するファイルを見つける方法

どうすればいいのかわかりません。

私のシステムのどこかに、そのように定義されたエイリアスがあります:

alias subl=\''/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl'\'

これがどのファイルにあるのかわからないので、変更(または実際に削除)したい。

.zshrcでエイリアスを解除することもできますが、それはエレガントな解決策ではありません。

alias | grep sublを実行すると、エイリアスが表示されます。エイリアスを定義するファイルへのパスもエコーさせる方法はありますか?

ありがとう

24
Ali Samii
zsh -x 2>zsh.trace
exit
grep 'alias.*subl' zsh.trace

-xオプションを指定すると、zshはstderrで実行するすべてのコマンドを出力します。ファイルの読み取りから実行されたコマンドには、ファイル名と行の接頭辞が付きます。トレースファイルでエイリアス定義を探してください。エイリアス定義がどこで定義されているかがわかります。