- Использование переменных среды в Терминале на Mac
- Что такое PATH в Mac OS?
- Добавить переменную в $PATH macOS
- Новая переменная $PATH macOS для текущего пользователя
- Новая переменная $PATH macOS для всех пользователей
- Где установить переменные окружения в Mac OS X 2021
- Полный обзор Mac OS X 10.11 El Capitan
- Отображение текущей среды и переменных оболочки в Mac OS X
- Установка переменных среды в командной строке Mac OS X
- Установка Временных переменных среды в OS X
- Bash: Как в macOS добавить новую переменную $PATH?
- Как узнать полный путь к команде?
- С помощью доп.меню
- С помощью терминала
- Как добавить переменную окружения в macOS?
- Добавить переменную в файл .bash_profile
Использование переменных среды в Терминале на Mac
Shell использует переменные среды для хранения информации, такой как имя текущего пользователя, имя хоста и пути по умолчанию к любым командам. Переменные среды наследуются всеми командами, которые исполняются в контексте shell, и некоторыми командами, которые зависят от переменных среды.
Вы можете создать переменные среды и использовать их для управления работой команды, не изменяя саму команду. Например, с помощью переменной среды можно сделать так, чтобы команда печатала отладочную информацию в консоль.
Чтобы задать значение для переменной среды, свяжите имя переменной с требуемым значением при помощи соответствующей команды shell. Например, чтобы задать для переменной PATH значение /bin:/sbin:/user/bin:/user/sbin:/system/Library/ , необходимо ввести следующую команду в окне «Терминала».
Чтобы просмотреть все переменные среды, введите:
При запуске приложения из shell приложение наследует значительную часть среды shell, в том числе экспортированные переменные среды. Эта форма наследования может быть полезна для динамической настройки приложения. Например, приложение может проверить наличие (или значение) переменной среды и изменить свою работу соответствующим образом.
Различные shell поддерживают различные семантики для экспорта переменных среды. Cм. man‑страницу предпочитаемой Вами оболочки shell.
Несмотря на то что дочерние процессы shell наследуют среду этой shell, различные shell имеют раздельные контексты исполнения, которые не делятся друг с другом информацией о среде. Переменные, заданные в одном окне Терминала, не передаются в другие окна Терминала.
После закрытия окна Терминала все переменные, которые Вы задали в этом окне, больше не доступны. Если Вы хотите, чтобы значение переменной сохранялось между различными сеансами и во всех окнах Терминала, настройте ее в загрузочном скрипте shell. Об изменении загрузочного скрипта оболочки zsh для сохранения переменных и других настроек между сеансами см. в разделе Invocation на man-странице оболочки zsh.
Источник
Что такое PATH в Mac OS?
Что такое PATH в Mac OS? Я использовал его для установки глобальных инструментов командной строки, но единственная документация, которую я нашел, — это учебные пособия для этого, без реального объяснения того, что происходит под капотом. Я также не нашел соответствующей страницы в Википедии .
Так какова цель PATH и в чем разница между /etc/paths и
Например, в моем paths файле я вижу это:
/.bash_profile , я вижу это:
Это просто пользовательское дополнение к paths файлу? Что это за штука paths , как /usr/bin ?
1. Какова цель PATH?
PATH это переменная окружения, которая содержит разделенный двоеточиями список каталогов, в которых ваша оболочка будет искать исполняемые файлы, которые вы называете в командной строке, без указания пути к ним (как в вашем jsdoc примере) Таким образом, если ваш PATH имеет
тогда любой исполняемый файл, который вы называете по имени, будет найден в этих каталогах (в указанном порядке), и первый найденный исполняемый файл будет исполнен.
2. В чем разница между / etc / paths и
Согласно этому вопросу на ServerFault , /etc/paths используется для PATH глобальной настройки (т. Е. Для всей системы, для всех пользователей), в то время
/.bash_profile как для установки пользовательских настроек (где
будет домашний каталог пользователя). То, что написано, .bash_profile может либо добавить к глобальному PATH из, /etc/paths либо полностью его переопределить.
Для записи, /etc/paths кажется, особенность MAC OS: я не сталкивался с этим по крайней мере в GNU / Linux.
Так ваша оболочка находит программы. При вводе ls , например, что работает программа под названием , ls которая живет в /bin большинстве систем, включая Mac OS X. Ваша оболочка может найти только , что из — за /bin это в PATH .
Оболочка ищет программы по PATH порядку слева направо. Если ls в вашей системе есть две программы, и их каталоги находятся в вашей PATH , она найдет одну в каталоге, указанном первой в вашей PATH .
В чем разница между / etc / paths и
Установленные пути /etc/paths добавляются к PATH при запуске во всех оболочках Mac OS X.
/.bash_profile это всего лишь один из нескольких сценариев оболочки, запускаемых Bash при запуске, и некоторые из них относятся к Bash. Поэтому, если вы измените свою оболочку — Mac OS X также поставляется tcsh и zsh , например, — изменения, внесенные, чтобы /etc/bashrc не применяться к вашей новой оболочке.
Кроме того, /etc/paths это файл конфигурации на уровне системы, в то время
/.bash_profile как для каждого пользователя. Если на вашем Mac было настроено несколько интерактивных пользователей, вы бы не хотели добавлять каталоги, /etc/paths которые вы не хотели бы видеть у всех PATH . То же самое верно, за /etc/bashrc исключением того, что, конечно, это относится только к пользователям, которые используют Bash в качестве оболочки.
В чем разница между PATH и $ PATH и $
?
Обычно вы видите переменную без сигил, когда вы ее устанавливаете. FOO=bar устанавливает FOO переменную среды в строку bar . Если вы наберете set , оболочка покажет вам все переменные окружения, и в этом случае вы также увидите переменную без сигил.
$PATH и $
Во второй echo команде оболочка ничего не печатает, потому что она просит оболочку напечатать переменную с именем FOOx , которая не существует; оболочка обрабатывает несуществующие переменные как пустые. Поскольку третий echo использует синтаксис фигурных скобок, он позволяет оболочке видеть, что вы запрашиваете FOO переменную, и что x это просто еще один символ, который вы хотите напечатать сразу после этого.
Между прочим, есть другой способ получить тот же эффект без фигурных скобок:
Переменные окружения раскрываются в двойных кавычках, а кавычки отделяются x от раскрытия переменных, поэтому оболочка делает правильные вещи.
Я использую FOO переменную окружения здесь просто для ясности. Все, что я написал выше, также применимо PATH , поскольку это просто еще одна переменная окружения. Тексты примеров были бы намного длиннее.
Что означает экспорт PATH? Когда мы экспортируем?
В приведенном выше FOO примере, если вы запустите другую программу, она не увидит FOO переменную, потому что она не экспортируется. Он живет только в одном экземпляре оболочки:
Когда я впервые запускаю новую bash оболочку под той, которую я уже использовал, а затем пытаюсь показать значение FOO , я получаю пустое значение, потому что FOO не было экспортировано для просмотра подпрограммами. Затем я вышел из второго bash экземпляра, экспортировал его, bash снова запустился , и теперь второй экземпляр видит значение FOO .
Вы используете, export когда хотите, чтобы подпрограммы видели значения, установленные в оболочке, и не используете его, если не хотите, чтобы это произошло.
Как правило, я не экспортирую временные переменные в сценарии оболочки, потому что не хочу, чтобы они меняли поведение программ, запускаемых из этого сценария оболочки.
Я не собираюсь отвечать на любые другие ваши вопросы. Вы должны задавать только один вопрос за раз. Я только ответил на это много, потому что они смутно связаны. Все остальное относится к отдельному вопросу.
Источник
Добавить переменную в $PATH macOS
Если скитание по интернету не дают вам ответа, как добавить переменную в $PATH macOS, то на сайте Я Знаю! Вы найдете простое решение!
Новая переменная $PATH macOS
для текущего пользователя
Для того чтобы раз и навсегда добавить новую переменную в $PATH macOS для текущего пользователя необходимо выполнить несложные действия в терминале.
Найдите в меню Launchpad приложение «Терминал» и запустите его. Введите команду для перехода в домашний каталог:
- После чего приступите к редактированию файла .bash_profile:
- Добавьте ваш путь к команде или скрипту:
- Сохраните изменения с помощью нескольких комбинации клавиш
- CTRL O
- CTRL X
Полностью закройте приложение Терминал и снова запустите его, проверьте добавилась ли ваша новая переменная в $PATH:
Новая переменная $PATH macOS
для всех пользователей
Найдите в меню Launchpad приложение «Терминал» и запустите его, введите команду:
Добавьте путь к команде или скрипту:
- Сохраните изменения с помощью нескольких комбинации клавиш
- CTRL O
- CTRL X
- Проверьте наличие новой переменной:
Вот и все! Теперь вы знаете как добавить переменную в $PATH macOS!
Источник
Где установить переменные окружения в Mac OS X 2021
Полный обзор Mac OS X 10.11 El Capitan
В командной строке переменные среды определяются для текущей оболочки и становятся наследуемыми любой запущенной командой или процессом. Они могут определять что угодно, от оболочки по умолчанию, PATH, домашнего каталога пользователей, до типа эмуляции терминала, текущего рабочего каталога, в котором находится файл истории, настройки языка и локализации, и далее включать переменные оболочки, которые включают все от настроек до приглашения bash, цветного вывода ls, изменений внешнего вида терминала, псевдонимов и многого другого.
Давайте рассмотрим, как перечислять переменные среды и оболочки, а затем как устанавливать и добавлять новые переменные среды в командной строке Mac OS X.
Отображение текущей среды и переменных оболочки в Mac OS X
Чтобы быстро получить список переменных среды, вы можете использовать следующую команду:
Если вы хотите увидеть полный список переменных оболочки, можно также выполнить команду ‘set’:
Вывод этих команд может быть длинным, поэтому вы можете захотеть передать вывод через команды less или more.
Установка переменных среды в командной строке Mac OS X
Поскольку по умолчанию Mac использует оболочку bash, вы можете установить переменные окружения в пользовательских каталогах .bash_profile, для активной учетной записи пользователя путь к этому файлу находится по адресу:
Если вы изменили свою оболочку или не уверены, какую оболочку вы используете, вы всегда можете проверить, введя команду echo $ SHELL, которая покажет, какая оболочка используется. Мы предполагаем, что вы все еще используете оболочку bash по умолчанию для OS X, поэтому мы добавим новые переменные окружения, изменив .bash_profile с помощью nano — вы можете использовать vi, emacs или другой текстовый редактор, если хотите, но мы рассмотрим нано для простоты.
Начните с открытия .bash_profile в текстовом редакторе nano:
Вы можете добавить переменные окружения и переменные оболочки в новые строки, если в файле .bash_profile уже есть данные, просто обязательно добавьте новые переменные в новую пустую строку, используя при необходимости клавиши со стрелками и клавишу возврата.
Давайте возьмем пример и скажем, что мы собираемся установить переменные окружения JAVA_HOME и JRE_HOME в .bash_profile, добавив следующее в новые строки файла:
export JAVA_HOME=$(/usr/libexec/java_home)
export JRE_HOME=$(/usr/libexec/java_home)
Предполагая, что мы закончили, сохраните изменения, внесенные в .bash_profile, нажав Control + o (это o, как в выдре), затем выйдите из nano, нажав Control + X
Изменения и дополнения, внесенные в переменные среды, потребуют перезапуска оболочки или появления новой оболочки.
Установка Временных переменных среды в OS X
Стоит отметить, что вы также можете установить временные переменные среды в bash, используя саму команду «export», хотя они будут сохраняться только до тех пор, пока текущая оболочка bash остается активной. Например, если вы хотите добавить временный путь к
/ bin /, вы можете использовать следующую команду:
Опять же, команда «export», запускаемая сама по себе и не содержащаяся в .bash_profile, будет только временной настройкой, и переменная среды не будет сохраняться, пока вы не добавите ее в .bash_profile.
Если вы действительно хотите добавить новый PATH для использования, вы почти наверняка должны добавить его в .bash_profile, поместив соответствующую команду экспорта в файл.
Выходя за пределы оболочки bash, если вы изменили стандартную оболочку приложения терминала с bash на tcsh, zsh, sh, ksh, fish или любую другую альтернативную оболочку, вам просто нужно изменить соответствующий профиль или файл rc. для этой конкретной оболочки (.tschrc, .cshrc, .profile и т. д.).
Источник
Bash: Как в macOS добавить новую переменную $PATH?
Сегодня рассказываем вам как добавить новую переменную $PATH в операционной системе macOS (OS X).
Если вам надоело в «Терминале» macOS каждый раз вводить определенные команды через ./команда , тогда необходимо добавить переменную окружения. То есть вам необходимо вам необходимо внести путь полный к команде утилиты в файл .bash_profile .
Как узнать полный путь к команде?
Есть два варианта узнать полный путь, где находиться утилиты с соответствующей командой.
С помощью доп.меню
Сделайте «правый клик» по папке, где находится команда и при появлении контекстного меню нажмите кнопку ALT (OPTION) и «Скопируйте путь до».
С помощью терминала
Перетяните папку с командой в «Терминал» после чего вы сможете скопировать полный путь.
Как добавить переменную окружения в macOS?
Есть также 4 варианта — первый, это открытие файла .bash_profile с помощью Finder и внесение пути, второй и третий и четвертый с помощью терминала:
Добавить переменную в файл .bash_profile
Откройте ваш домашний каталог:
Редактируем .bash_profile :
Добавьте в файл такую запись:
Закройте текстовый файл, все готово!
У вас остались еще дополнительные вопросы? Пишите их в комментариях, о том что у вас получилось или наоборот!
Вот и все! Больше полезных статей и инструкций читайте в разделе Статьи и Хаки IOS и macOS. Оставайтесь вместе с сайтом Android +1, дальше будет еще интересней!
Источник