Я загрузил приложение, которое является приложением командной строки, и хотят поместить его где-нибудь, куда я могу выполнить его от командной строки, не имея необходимость вводить путь явно.
Что стандартные пути используются для чего-то вроде этого? /usr/bin
? Есть ли различные варианты, тот, если я хочу его для всех пользователей и того, если я хочу его для просто конкретного пользователя, как моя учетная запись администратора?
Или я должен поместить его в его собственный каталог под Каталогом приложений и добавить его к пути? Если так, которым управляет файл, где путь установлен?
Базовый ответ: Вы, вероятно, хотите /usr/local/bin
. В зависимости от того, насколько недавний Ваш macOS, Вы, возможно, должны обновить свое значение по умолчанию $PATH
. Посмотрите ниже для получения дальнейшей информации.
ОБНОВИТЕ 01.12.2018 В какой-то момент, так как я записал свой исходный ответ, Apple изменила свое значение по умолчанию $PATH
. В результате многое из того, что я говорю ниже, не важно недавним Mac. Если Вы вводите echo $PATH
в терминале, и /usr/local/bin
является первым, затем можно проигнорировать все ниже об изменении Вашего $PATH
.
Исходный ответ
Mac необычны в этом отношении. Значение по умолчанию $PATH
переменная для обычного пользователя похожа на это:
/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin
Путем помещения /usr/local/bin
после /usr/bin
и /bin
, Mac переворачивает вверх ногами обычную систему. Обычно, можно поместить что-то в /usr/local/bin
(скажите второй интерпретатор Perl, скомпилированный некоторым нестандартным способом), и затем обычный пользователь поразит пользовательский, а не в масштабе всей системы сначала. Это хорошо. Пользователи могут получить варианты, но система остается чистой. Учитывая значение по умолчанию Apple $PATH
, однако, объекты в /usr/bin
или /bin
будет найден перед чем-либо в /usr/local/bin
. (Это в основном побеждает цель установить, например, пользовательский Perl в /usr/local/bin
.)
Для фиксации этого можно изменить обычного пользователя $PATH
путем редактирования .profile
файл в корневом каталоге пользователя. (Что файл не может существовать, если у Вас есть совершенно новая установка. В этом случае создайте его.)
Полусвязанный: Домашнее пиво обеспечивает превосходное управление пакетом для Mac. По умолчанию Домашнее пиво устанавливает программное обеспечение в /usr/local
, но это делает настолько способом, который делает очень легким удалить вещи и возвратиться к ванильному состоянию позже.
/usr/local/bin
и /usr/local/sbin
определенно стоят добавить к Вашему пути, поскольку много make-файлов для исходных сборок принято значение по умолчанию для установки там.
При использовании MacPorts это стоит добавить /opt/local/bin
и /opt/local/sbin
также.
Лучший способ сделать это должно добавить
export PATH=/usr/local/bin:/usr/local/sbin:/opt/local/bin:/opt/local/sbin:$PATH
к .bashrc
файл в Вашем корневом каталоге (который скрыт, таким образом, CLI является лучшим способом к сделать это), или, если Вы хотите изменить путь в масштабе всей системы, добавляет ту же строку к /etc/bashrc
(не скрытый), но Вы должны будете sudo
сделать это.
Если у Вас нет a .bashrc
в доме любого пользователя можно сделать один и добавить эту строку к нему, но не забыть изменять полномочия на файле, который Вы создаете для создания этого читаемым рассматриваемым пользователем (очевидно, не релевантный при выполнении его для собственного профиля).
$PATH
в конце добавляет путь системного значения по умолчанию к тому, что Вы помещаете прежде. Обратите внимание, что система ищет двоичные файлы в порядке данных путей, поэтому при установке двоичного файла в /usr/local
или /opt/local
это также установлено по умолчанию в системе, версии, которые Вы устанавливаете, будут найдены первыми, который может (хотя редко), нарушал вещи. Это стоит не упустить.
Хорошая информация здесь.
Я должен отметить, что вышеупомянутое предполагает использование Bash для оболочки которая является значением по умолчанию на Mac OS X v10.4 (Тигр) и Mac OS X v10.5 (Leopard), но не в более ранних системах, которые использовали tcsh
вместо этого, который имеет другой синтаксис.
Я надеюсь, что это помогает...
Я склонен идти с /usr/local
. Вот хорошее объяснение, почему, который обращается к Стандарту иерархии файловой системы (FHS). , который в свою очередь говорит о /usr/local
:
Третичная иерархия для локальных данных, характерных для этого хоста. Обычно имеет дальнейшие подкаталоги, например, мусорное ведро, lib, доля.