Answers:
不使用 which
, 使用 type
。该 which
默认shell(bash)中的命令是一个外部实用程序,它不知道别名和函数。另一方面, type
是一个内部实用程序,它将告诉您它的参数是别名,函数,内置实用程序还是外部命令。
该 which
命令在教程和手册中仅作为历史原因提到 - 30年前的 type
命令并不存在,并且有些人适应缓慢。
有关更多详细信息,包括对历史和当前shell的讨论,请参阅 为什么不用“哪个”?那要用什么?
$ type cp
cp is aliased to `cp -i'
$ type mkcd
mkcd is a function
mkcd ()
{
…
}
$ type type
type is a shell builtin
$ type cat
cat is /bin/cat
在zsh中,可以使用 which
:zsh都有 type
和 which
作为内置命令。
另请注意,如果您刚刚安装或删除了某个程序,那么shell可能已经记住了它的旧位置。例如,如果您只是在一个位于系统目录之前的目录中安装了您自己的程序版本 $PATH
,shell可能会继续调用系统附带的程序。这只是在安装或删除时已经运行的shell中的问题。要使用当前数据刷新shell的内存,请运行该命令 hash -r
要么 hash COMMANDNAME
。
ssh
,你应该使用一个 配置文件 代替。您可以在中定义主机名,用户名和其他选项的快捷方式~/.ssh/config
。