como encontrar um arquivo definindo um alias

21

Estou tendo um problema, não sei ao certo como se locomover.

Em algum lugar do meu sistema, eu tenho um alias definido da seguinte maneira:

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

Não tenho certeza em qual arquivo ele está e quero alterá-lo (ou removê-lo).

Eu poderia unalias-lo no meu .zshrc, mas isso não é uma solução tão elegante.

Quando corro, alias | grep sublele mostra o alias. Existe uma maneira de eu também fazer eco do caminho para o arquivo que define o alias?

obrigado

Ali Samii
fonte
11
Penso que, se houver algo deselegante aqui, é provável que você tenha tantos arquivos de configuração de shell que não saiba onde eles estão. Sem ofensa ou qualquer coisa, mas ... talvez fique sem isso, oh seu zsh - isso é um homem gigante.
mikeserv
11
de qualquer maneira, talvez tente #grep -R 'alias subl...'
mikeserv 28/12

Respostas:

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

A -xopção faz com que o zsh imprima todos os comandos que ele executa no stderr. Qualquer comando que foi executado a partir da leitura de um arquivo possui um prefixo com o nome e a linha do arquivo. Portanto, procure a definição de alias no arquivo de rastreamento e você saberá onde ela foi definida.

Gilles 'SO- parar de ser mau'
fonte
Inteligente. Mas, mesmo que isso o ajude aqui, provavelmente não há uma bandaid grande o suficiente para a fonte desse problema. Embora, honestamente, a leitura do arquivo produzido também possa ser um alerta.
mikeserv