ubuntu 12.04中which命令求解

sh/bash/dash/ksh/zsh等Shell脚本
回复
hiliang
帖子: 2
注册时间: 2014-09-22 9:58
系统: windows 7

ubuntu 12.04中which命令求解

#1

帖子 hiliang » 2014-09-22 10:31

同事一机子which which的结果是:
alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
/usr/bin/which
并且同事机子man which的结果中有一行是:
which [options] [--] programname [...]

但是我自己的计算机系统运行which which的结果是
/usr/bin/which
运行man which的结果是:
which [-a] file

看man which的结果应该是我的which命令是个阉割版

如果自行设定别名alias which='alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde'
然后再次运行which which结果是
Illegal option --
Usage: /usr/bin/which [-a] args

这是我安装了某个包之后将原始which覆盖了,还是我需要装个什么包将简陋版的which升级为豪华版的which?
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: ubuntu 12.04中which命令求解

#2

帖子 astolia » 2014-09-22 17:44

debianutils包里的which只是个简单的shell脚本而已。你可以自己用 cat /usr/bin/which 查看
要用C代码版的,最好是到 http://ftp.gnu.org/gnu/which/ 下载源代码自行编译
或者到 http://rpmfind.net/linux/rpm2html/searc ... in%2Fwhich 试试有没有哪个发行版带的which可以和ubuntu兼容
hiliang
帖子: 2
注册时间: 2014-09-22 9:58
系统: windows 7

Re: ubuntu 12.04中which命令求解

#3

帖子 hiliang » 2014-09-22 22:37

按2楼的方法解决了,谢谢
可能因为编译的时候没设定某些参数,which的alias没设定,不过手动设定下好了
回复