如何查找定义别名的文件


22

我有一个问题,我不确定该如何解决。

在系统的某个地方,我定义了一个别名,如下所示:

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

我不确定它在哪个文件中,我想更改(或实际上删除)它。

我可以在我的.zshrc中取消混叠,但这并不是一个优雅的解决方案。

运行时alias | grep subl会显示别名。我有办法让它也回显定义别名的文件的路径吗?

谢谢


1
我认为,如果这里有些不雅之处,可能是因为您有太多的Shell配置文件,甚至不知道它们在哪里。没有冒犯或任何东西,但是....也许不这样做哦,您的zsh-那是一个庞然大物。
mikeserv

1
无论如何,也许可以尝试grep -R 'alias subl...'
mikeserv

Answers:


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

-x选项使zsh打印出在stderr上执行的每个命令。通过读取文件执行的任何命令都带有文件名和行的前缀。因此,在跟踪文件中查找别名定义,您将知道它的定义位置。


聪明。但是,即使这对他有所帮助,也可能没有足够的创可贴解决这个问题。但是,老实说,读取生成的文件也可能需要唤醒。
mikeserv
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.