检查机器上是否安装了 GO

检查机器上是否安装了 GO

我正在编写一个 shell 脚本,我需要使用命令从 github 提取一些内容go get github.com/aktau/github-release,但我首先需要确保调用脚本的人已在其机器上安装了 GO。如果他们没有安装,我的脚本将出错并告诉他们安装 GO,然后重新运行脚本。

我在想我应该只是echo $GOPATH,但是人们可以在没有定义他们的 GOPATH 的情况下安装 GO。

我该如何做呢?

答案1

您应该检查PATH环境变量。请参阅这个答案以获得详细解释。

bash您的 shell/hashbang 在哪里,始终使用hash(用于命令)或type(考虑内置函数和关键字)。编写 POSIX 脚本时,使用command -v

$ command -v foo >/dev/null 2>&1 || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }
$ type foo >/dev/null 2>&1 || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }
$ hash foo 2>/dev/null || { echo >&2 "I require foo but it's not installed.  Aborting."; exit 1; }

相关内容