Я установил несколько утилит Go с помощью go get -u github.com/[owner]/[repo]
и не понимаю, почему они не соблюдают стандартные соглашения оболочки. Устанавливаемая мною утилита не обнаружила никаких следов в каталоге, из которого была запущена команда, и никаких выходных данных, указывающих на что-либо, поэтому я искал ее довольно стандартным способом и не мог ее найти, но всегда мог ее запустить :
~ $ which hey
~ $ hey
Usage: hey [options...] <url>
Options:
-n Number of requests to run. Default is 200.
-c Number of requests to run concurrently. Total number of requests cannot be smaller than the concurrency level. Default is 50.
[…]
Я понял это только потому, что заметил, что хвостовая часть моего $PATH
включает в себя :~/go/bin
, и, конечно же, там присутствуют три установленные мной утилиты go. Спас меня от долгих find
поиска.
Как установленные двоичные файлы Go избегают стандартных средств поиска файлов, но остаются в состоянии работать?
Это происходит в стандартной оболочке bash, поставляемой с macOS High Sierra (10.13.6).
~ $ type -a hey
hey is /Users/jsalaz/go/bin/hey
~ $ type -a which
which is /usr/bin/which