如何找出别名在我的系统上的定义位置?我指的是在从Mac OS X (10.6.3)启动的终端会话中使用的那种别名。
例如,如果我在终端命令提示符下输入不带参数的alias命令,则会得到已设置的别名列表,例如:
alias mysql='/usr/local/mysql/bin/mysql'然而,我已经使用Spotlight和mdfind在我的系统中搜索了各种启动文件,到目前为止还没有找到这个别名的定义位置。(我很久以前就这样做了,没有写下我分配别名的位置)。
发布于 2014-11-05 02:33:28
对于OSX,这个两步序列对我来说工作得很好,可以定位我很久以前创建的别名,但无法在预期的位置(~/.zshc)定位。
cweekly:~ $ which la
la: aliased to ls -lAh
cweekly:~$ grep -r ' ls -lAh' ~
/Users/cweekly//.oh-my-zsh/lib/aliases.zsh:alias la='ls -lAh'啊哈!“隐藏”在~/.oh-my-zsh/lib/aliases.zsh中。我在.oh-my-zsh中浏览了一下,但是忽略了lib/aliases.zsh。
发布于 2010-04-11 07:42:08
您只需在命令提示符下键入alias,即可查看您有哪些别名。否则,您可以在定义别名的最常见位置执行find,例如
grep -RHi "alias" /etc /root发布于 2019-10-04 02:09:14
首先使用以下命令
列出所有函数
functions 列出所有别名
alias 如果找不到别名或函数,请考虑使用更积极的搜索方法
Bash版本
bash -ixlc : 2>&1 | grep thingToSearchHereZsh版本
zsh -ixc : 2>&1 | grep thingToSearchHere选项的简要说明
-i Force shell to be interactive.
-c Take the first argument as a command to execute
-x -- equivalent to --xtrace
-l Make bash act as if invoked as a login shellhttps://stackoverflow.com/questions/2614403
复制相似问题