как найти файл, определяющий псевдоним

22

У меня проблема, я не уверен, как обойти.

Где-то в моей системе у меня есть псевдоним, определяемый так:

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

Я не уверен, в каком файле это находится, и я хочу изменить (или фактически удалить) это.

Я мог бы просто распаковать его в моем .zshrc, но это не такое элегантное решение.

Когда я бегу, alias | grep sublон показывает мне псевдоним. Есть ли способ для меня, чтобы он также отображал путь к файлу, определяющему псевдоним?

Благодарность

Али Самии
источник
1
Я думаю, что если здесь есть что-то не элегантное , возможно, у вас так много конфигурационных файлов оболочки, что вы не знаете, где они находятся. Без обид или чего-то в этом роде, но ... может быть, обойдется без этого, о-о-о-о, это чудовище.
mikeserv
1
во всяком случае, может быть, попробоватьgrep -R 'alias subl...'
mikeserv

Ответы:

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

В -xопции заставляет ЗШ печатать каждую команду , которую он выполняет на STDERR. Любая команда, которая была выполнена из чтения файла, имеет префикс с именем файла и строкой. Поэтому найдите определение псевдонима в файле трассировки, и вы узнаете, где оно было определено.

Жиль "ТАК - перестать быть злым
источник
Умная. Но даже если это поможет ему здесь, вероятно, не достаточно большой бандит для источника этой проблемы ». Хотя, честно говоря, чтение файла, который производит, также может быть чем-то вроде вызова пробуждения.
mikeserv