jak znaleźć plik definiujący alias


22

Mam problem. Nie jestem pewien, jak się poruszać.

Gdzieś w moim systemie mam zdefiniowany alias:

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

Nie jestem pewien, w którym pliku się znajduje, i chcę go zmienić (lub usunąć).

Mógłbym po prostu odblokować to w moim .zshrc, ale to nie jest tak eleganckie rozwiązanie.

Po uruchomieniu alias | grep sublpokazuje mi alias. Czy jest dla mnie sposób, aby echo również wskazywało ścieżkę do pliku definiującego alias?

Dzięki


1
Myślę, że jeśli jest tu coś nieeleganckiego , to prawdopodobnie masz tyle plików konfiguracyjnych powłoki, że nie wiesz, gdzie one są. Bez obrazy lub czegokolwiek, ale ... może obejdzie się bez tego, oh, twój zsh - ten "gigant.
mikeserv

1
w każdym razie, może spróbujgrep -R 'alias subl...'
mikeserv

Odpowiedzi:


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

Ta -xopcja powoduje, że zsh wypisuje każde polecenie, które wykonuje na stderr. Każde polecenie wykonane z odczytu pliku ma prefiks z nazwą pliku i linią. Poszukaj definicji aliasu w pliku śledzenia, a dowiesz się, gdzie została zdefiniowana.


Sprytny. Ale nawet jeśli mu to pomoże, prawdopodobnie nie ma wystarczająco dużej bandaidy na źródło tego problemu. Chociaż, szczerze mówiąc, czytanie pliku, który się produkuje, może być czymś w rodzaju budzenia.
mikeserv
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.