julley 发表于 2016-10-24 06:03:25

use `which` on an aliased command

今天重装 Ubuntu 12.04 后安装 mysql server 5.5 时诡异发现下面的问题:

$ whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/bin/X11/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.g
$ which mysql
mysql: aliased to nocorrect mysql



$ whereis mysql
mysql: /usr/bin/mysql /etc/mysql /usr/lib/mysql /usr/bin/X11/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.g
$ which mysql
/usr/bin/mysql

--------------------
分别使用 zsh 和 bash 运行结果不一样,然后 google 发现原来是因为我使用了 oh-my-zsh,而 oh-my-zhs 中有如下一段 alias

alias mysql='nocorrect mysql'

--------------------
对于 aliased 的 command 可以使用这个命令:

$type -a mysql

--------------------
或许正如别人讨论的,type 才是更加符合 POSIX 的命令
页: [1]
查看完整版本: use `which` on an aliased command