2013-08-23 7 views
24

им пытаются настроить проект, шторм от мерзавца https://github.com/nathanmarz/storm/wiki/Setting-up-development-environmentчто PATH в системе MAC (UNIX)

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

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

Иногда я вижу некоторые/бен/путь, $ PATH, эхо PATH

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


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

+0

Вы можете Google, что! – Chiron

+1

Что касается голосов за закрытие, я могу думать о двух причинах, по которым это может произойти: (1) это, возможно, не вопрос * программирования *, сам по себе, и, следовательно, может не соответствовать [по темам стандартов] (http://stackoverflow.com/help/on-topic), а вместо этого, например, [SU] (http://superuser.com/) и/или (2), что это вопрос, который, вероятно, задан (и ответил) до , Мне кажется, что вопрос достаточно важен, хотя (даже если это может быть неправильное место для публикации), поэтому я добавил ответ, который, надеюсь, вы найдете полезным. Лучший! – lindes

ответ

35

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

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

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

: $; 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-совместимых оболочек (потому что: я согласен с другими советами, которые вам don't use them), но что-то подобное можно сделать и в них, если это по какой-то причине окажется вашей средой выбора.)

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

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

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

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

Смотрите также:

+0

К сожалению, первая ссылка не работает. –

+0

Спасибо, что привлекли это к моему вниманию. Я нашел обновленную ссылку на тот же контент и обновил ее в ответе. (Примечание: это была первая ссылка, а не первая ссылка в ответе в целом.) – lindes