comment trouver un fichier définissant un alias

22

J'ai un problème, je ne sais pas trop comment me déplacer.

Quelque part sur mon système, j'ai un alias défini comme tel:

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

Je ne sais pas dans quel fichier il s'agit et je souhaite le modifier (ou le supprimer).

Je pourrais juste le supprimer dans mon .zshrc, mais ce n'est pas une solution aussi élégante.

Quand je cours, alias | grep sublil me montre l'alias. Existe-t-il un moyen pour moi de faire également écho au chemin d'accès au fichier définissant l'alias?

Merci

Ali Samii
la source
1
Je pense que s'il y a quelque chose d' inélégant ici, c'est probablement que vous avez tellement de fichiers de configuration shell que vous ne savez pas où ils se trouvent. Aucune offense ou quoi que ce soit, mais ... peut-être vous passer de ça oh votre zsh - c'est un géant.
mikeserv
1
de toute façon, essayez peut-êtregrep -R 'alias subl...'
mikeserv

Réponses:

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

L' -xoption oblige zsh à imprimer chaque commande qu'il exécute sur stderr. Toute commande exécutée à partir de la lecture d'un fichier a un préfixe avec le nom et la ligne du fichier. Recherchez donc la définition d'alias dans le fichier de trace et vous saurez où elle a été définie.

Gilles 'SO- arrête d'être méchant'
la source
Intelligent. Mais même si cela l'aide ici, il n'y a probablement pas de bandaid assez gros pour la source de ce problème. Cependant, en toute honnêteté, la lecture du fichier qui en résulte peut également être un appel de réveil.
mikeserv