1

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

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

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

1 ответ1

0

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .