Проверка, установлен ли 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; }