Команда 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
к концу.
Это кажется простым способом сделать это.