cómo encontrar el archivo que define un alias

22

Tengo un problema, no estoy seguro de cómo moverse.

En algún lugar de mi sistema, tengo un alias definido como tal:

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

No estoy seguro de en qué archivo está esto, y quiero cambiarlo (o eliminarlo).

Podría desalisarlo en mi .zshrc, pero esa no es una solución tan elegante.

Cuando corro alias | grep sublme muestra el alias. ¿Hay alguna manera de que yo también haga eco de la ruta al archivo que define el alias?

Gracias

Ali Samii
fuente
1
Creo que si hay algo poco elegante aquí, es probable que tenga tantos archivos de configuración de shell que no sepa dónde están. Sin ofender ni nada, pero ... tal vez prescindir de eso oh tu zsh - ese 'un hombre gigante.
mikeserv
1
de todos modos, tal vez intentegrep -R 'alias subl...'
mikeserv

Respuestas:

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

La -xopción hace que zsh imprima cada comando que ejecuta en stderr. Cualquier comando que se ejecutó al leer un archivo tiene un prefijo con el nombre y la línea del archivo. Así que busque la definición de alias en el archivo de rastreo y sabrá dónde se definió.

Gilles 'SO- deja de ser malvado'
fuente
Inteligente. Pero incluso si eso lo ayuda aquí, probablemente no haya una venda lo suficientemente grande como para la fuente de este problema ''. Aunque, sinceramente, leer el archivo que produce también podría ser una llamada de atención.
mikeserv