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

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

問題が発生しましたが、どのように解決するのかわかりません。

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

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

どのファイルにあるのかわからず、変更(または実際に削除)したいと思います。

.zshrcでエイリアスを解放できますが、これはエレガントなソリューションではありません。

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

ありがとう

答え1

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

この-xオプションを使用すると、zsh は stderr で実行されるすべてのコマンドを出力します。ファイルを読み取って実行されるすべてのコマンドには、ファイル名と行を含むプレフィックスがあります。したがって、トレースファイルでエイリアス定義を参照すると、それが定義されている場所がわかります。

関連情報