Проверка, установлен ли GO на машине

Я пишу сценарий оболочки, и мне нужно извлечь что-то из GitHub с помощью команды go get github.com/aktau/github-release, но сначала я должен убедиться, что у человека, вызывающего сценарий, установлен GO на его компьютере. Если они не установлены, мой скрипт выдаст ошибку и скажет им установить GO, а затем перезапустит скрипт.

Я думал, что я должен просто echo $GOPATH, но люди могут установить GO без определения их GOPATH.

Как мне это сделать?

1 ответ

Вы должны проверить PATH переменная окружения. Смотрите этот ответ для подробного объяснения.

куда bash ваша оболочка /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; }
Другие вопросы по тегам