Команда Bash для поиска родительского GOPATH

Я пытаюсь написать скрипт для обработки некоторого кода в GOPATH, Код может быть вложен в несколько каталогов.

Я буду запускать свой сценарий в среде, где GOPATH не существует

Какой простой способ в оболочке найти GOPATH из вложенного каталога внутри GOPATH?

Это работает, если я делаю что-то вроде этого

GOAPTH=$(dirname $(dirname $(dirname $(dirname $(pwd)))))

или же

GOPATH=$(cd ../../../../; pwd)

Но это требует, чтобы я знал, сколько уровней я вложил.

1 ответ

С некоторой помощью bash: получить путь к родительскому каталогу по имени

Я придумал это:

GOPATH="${PWD%/go/src/*}/go"

Он принимает текущий рабочий путь к каталогу, обрезает что-либо в и после /go/src, а затем реклама /go к концу.

Это кажется простым способом сделать это.

Другие вопросы по тегам