Подтвердить что ты не робот

Что такое PATH в системе MAC (UNIX)

im пытается настроить проект, штурм от git https://github.com/nathanmarz/storm/wiki/Setting-up-development-environment

Download a Storm release , unpack it, and put the unpacked bin/ directory on your PATH

Мой вопрос в том, что означает PATH, что именно они хотят от меня?

Иногда я вижу несколько /bin/path, $PATH, echo PATH

может кто-то объяснить концепцию PATH, чтобы я мог легко настроить все в будущем, не слепо следуя инструкциям?


Это определенно технический вопрос. Может быть, триумф профессионалов. Но для входа такие люди, как я, действительно нуждаются в некоторых руководствах. Я не понимаю, почему люди пытаются закрыть этот вопрос.

4b9b3361

Ответ 1

PATH - это специальная переменная среды в системах UNIX (и UNIX-подобных, например, GNU/Linux), которые часто используются и обрабатываются оболочкой (хотя другие вещи также могут ее использовать).

Вот несколько краткое объяснение в wikipedia, но в основном он определял, где искать исполняемые файлы (будь то бинарные файлы, сценарии оболочки, что угодно).

Вы можете узнать, к чему настроен ваш текущий PATH, с помощью простой команды оболочки:

: $; echo $PATH

(Примечание: : $; предназначен для представления командной строки оболочки, это может быть что-то совсем другое для вас, просто знайте, что независимо от вашего приглашения, то, что я представляю с этой строкой.)

В зависимости от вашей системы и предварительной настройки значение будет меняться, но очень простой пример вывода может выглядеть примерно так:

/usr/bin:/bin:/usr/local/bin

Это двоеточие (:) - список каталогов, в которых можно искать исполняемые файлы (например, ls и т.д.). Короче говоря, когда вы пытаетесь выполнить команду из своей оболочки (или из какой-либо другой программы определенными способами), он будет искать через каждую из каталогов в этом списке, чтобы найти исполняемый файл с именем, которое вы предоставили, и запустить первый найденный. Так что концепция, по вашему вопросу.

Оттуда, о чем говорится в этой документации, нужно добавить каталог, в который вы распаковали программное обеспечение, и в частности его подкаталог bin, в свою переменную $PATH. Как это сделать, это зависит от того, какую оболочку вы используете, но для большинства (Bourne -совместимых) оболочек, вы должны быть может сделать что-то подобное, если вы находитесь в каталоге, в котором находится каталог bin:

: $; PATH="$PATH:$PWD/bin"; export PATH

В почти всех, кроме фактической оболочки Bourne, это можно сократить до:

: $; export PATH="$PATH:$PWD/bin"

(Я не буду обсуждать CSH-совместимые оболочки (потому что: я согласен с другими советами, что вы не используете их), но что-то подобное может быть сделано и в них, если это по какой-то причине окажется вашей средой выбора.)

Предположительно, однако, вы захотите сохранить это в файле конфигурации, специфичном для оболочки (может быть ~/.profile, ~/.bashrc, ~/.zshrc... в зависимости от вашей оболочки) и без ссылки на $PWD, а скорее к тому, к чему он расширился. Один из способов добиться этого - сделать что-то вроде этого:

: $; echo "export PATH=\"\$PATH:$PWD/bin\""

а затем скопируйте/вставьте полученную строку в соответствующий файл конфигурации.

Конечно, вы также можете сгенерировать соответствующую команду другими способами, особенно если ваш $PWD в настоящее время не находится в каталоге bin.

См. также: