在PATH中执行bin,但是“执行版本”失败

时间:2019-02-10 22:07:46

标签: bash go path

如何使用bash中的标准安装说明使用go?我该怎么办?

我遵循了installation instructions for go on Linux。因此,我下载了go tar.gz,将其解压缩到/usr/local并将export PATH=$PATH:/usr/local/go/bin添加到/etc/bash.bashrc并制成了source /etc/bash.bashrc

但是,go version没有给出正确的结果。参见:

user@machine:~$ which go
/usr/local/go/bin/go
user@machine:~$ go version
user@machine:~$ /usr/local/go/bin/go version
go version go1.11.5 linux/amd64

user@machine:~$ type -a go
go is a function.
go () 
{ 
    eval dir=\$$1;
    cd "$dir"
}
go is /usr/local/go/bin/go

1 个答案:

答案 0 :(得分:4)

Shell函数的优先级高于$PATH中的命令。

which不一定能找到shell函数(事实上,我认为它根本找不到)。 type -a更可靠,至少在使用bash或其他sh派生的shell的情况下。

问题是您有一个不相关的shell函数,称为go

如果您仍然想要该功能,建议您改用其他名称,Go可以使用。