【发布时间】:2012-07-12 15:21:29
【问题描述】:
很多年前,我做了“which cd”,它告诉我“cd: shell built-in command”。
最近试了一下,得到:
/usr/bin/which: no cd in ([路径太长我这里就不复述了])
我调查发现有人使用了别名:
> which which
which alias | /usr/bin/which --tty-only --read-alias --show-dot --show-tilde
/usr/bin/which
一旦我取消了 which 的别名,“which cd”又可以正常工作了。我的问题:
如何让“which”同时使用别名和 shell 内置插件?
我找不到“which”别名的创建位置(不在 /etc/cshrc、~/.cshrc 等)。这发生在哪里所以我 可以永久击败/编辑它吗?
编辑:感谢所有提供帮助的人。我想我已经弄清楚了:
- “which”是tcsh内置的,和“/usr/bin/which”不是一回事:
- “unalias which”几乎可以解决问题。它适用于内置 (如上)和别名(并正确地将反斜杠识别为 别名转义),如下:
- 别名似乎来自我的 /etc/profile.d/which2.csh 系统,这很奇怪,因为我认为 profile.d 仅适用于 sh/bash,不是 csh/tcsh
【问题讨论】:
标签: tcsh