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

742
Patrick Conway

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

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

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

1

1 ответ на вопрос

0
Tran Situ

Вы должны проверить 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; } 

Похожие вопросы