Как посмотреть path mac os

Обновлено: 05.07.2024

Когда кто-то говорит "отредактируйте файл .plist" или "ваш .profile" или ".bash_profile" и т.д., это меня просто смущает. Я не знаю, где эти файлы, как их создавать, если я должен это делать и т.д., А также почему, похоже, так много разных (почему? Они делают разные вещи?)

Так может кто-то, может быть, очень терпеливо объяснить предыдущему пользователю Windows (желая отчаянно лучше познакомиться с приятным, если вначале несколько запутанным миром OS X), как это сделать шаг за шагом?

Мне нужны переменные, которые должны быть установлены как для приложений GUI, так и для приложений командной строки, и в настоящий момент для ant script, которым нужны переменные, но, скорее всего, будут другие потребности.

Обратите внимание, что у меня тоже есть Лев, так как многие ответы, которые вы получаете, выглядят устаревшими для Лев.

Также обратите внимание, что у меня практически нет опыта использования терминала. Я хочу учиться, но, пожалуйста, объясните для новичков.

ОТВЕТЫ

Ответ 1

Во-первых, одна вещь, чтобы узнать о OS X, заключается в том, что она построена на Unix. Здесь появляется файл .bash_profile. Когда вы запускаете приложение Terminal в OS X, по умолчанию вы получаете оболочку bash. Оболочка bash поставляется из Unix и при загрузке запускает файл .bash_profile script. Вы можете изменить этот script, чтобы пользователь мог изменить ваши настройки. Этот файл находится по адресу:

Обновление для Mavericks

OS X Mavericks не использует environment.plist - по крайней мере, не для оконных приложений OS X. Вы можете использовать конфигурацию запуска для оконных приложений. Файл .bash_profile по-прежнему поддерживается, поскольку он является частью оболочки bash, используемой в терминале.

Только лев и горный лев

Оконные приложения OS X получают переменные среды из файла environment.plist. Вероятно, это означает, что вы используете файл ".plist". Этот файл находится по адресу:

Если вы внесете изменения в файл environment.plist, тогда приложения Windows OS X, включая приложение Terminal, будут иметь эти переменные окружения. Любая переменная среды, заданная в вашем .bash_profile, затронет только ваши оболочки bash.

Обычно я устанавливаю только переменные в файле .bash_profile и не изменяю файл .plist(или файл запуска на Mavericks). Большинство оконных приложений OS X не нуждаются в какой-либо настраиваемой среде. Только когда приложение действительно нуждается в определенной переменной среды, я должен изменить файл environment.plist(или файл запуска на Mavericks).

Похоже, что вы хотите изменить файл environment.plist, а не файл .bash_profile.

Последнее, если вы ищете эти файлы, я думаю, вы их не найдете. Если я правильно помню, они не были на моей начальной установке Льва.

Изменить: Вот несколько инструкций по созданию файла plist.

Чтобы отредактировать файл, вы можете нажать "Control", чтобы получить меню и выбрать "Добавить строку". Затем вы можете добавить пару ключевых значений. Для переменных среды ключ - это имя переменной среды, а значение является фактическим значением для этой переменной среды.

Как только файл plist будет создан, вы можете открыть его с помощью Xcode, чтобы изменить его в любое время.

Ответ 2

Ваш .profile или .bash_profile - это просто файлы, которые присутствуют в вашей "домашней" папке. Если вы откроете окно Finder и нажмете имя своей учетной записи на панели "Избранное", вы их не увидите. Если вы откроете окно терминала и ls для просмотра списка файлов, вы все равно их не увидите. Однако вы можете найти их, используя ls -a в терминале. Или, если вы откроете свой любимый текстовый редактор (скажем, TextEdit, поскольку он поставляется с OS X) и выполните File-> Открыть, а затем нажмите Command + Shift + . и щелкните по имени вашей учетной записи (домашняя папка), вы увидим их тоже. Если вы их не видите, вы можете создать их в своем любимом текстовом редакторе.

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

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

Теперь вот странная часть: вы можете либо открыть новое окно терминала, чтобы новые переменные вступили в силу, либо вам нужно будет набрать .profile или .bash_profile чтобы перезагрузить файл и применить его к текущей среде терминала.

Вы можете проверить, что ваши изменения вступили в силу, используя команду "set" в вашем терминале. Просто введите set (или set | more если вы предпочитаете разбитый на страницы список) и убедитесь, что вы добавили файл.

Что касается добавления переменных среды в приложения с графическим интерфейсом, это обычно не требуется, и я хотел бы услышать больше о том, что вы конкретно пытаетесь сделать, чтобы лучше дать вам ответ на этот вопрос.

Ответ 3

Здесь немного больше информации о переменной PATH в Lion OS 10.7.x:

Если вам нужно установить PATH глобально, PATH будет создан системой в следующем порядке:

Эти пути и переменные наследуются всеми пользователями и приложениями, поэтому они действительно глобальны - выходят из системы и не будут reset эти пути - они созданы для системы и создаются до того, как любой пользователь будет указан возможность входа в систему, поэтому для внесения изменений в них требуется перезапуск системы для вступления в силу.

BTW, чистая установка OS 10.7.x Lion не имеет environment.plist , который я могу найти, поэтому он может работать, но также может быть устаревшим.

Ответ 4

он печатает текущее значение пути

/.bash_profile и напишем

здесь вы добавляете старый путь, поэтому сохраняет старый путь и добавляет новый путь к нему

это выполнит его и добавит путь

затем снова проверьте с помощью

Ответ 5

Здесь простое решение без необходимости возиться с bash . В моем случае он работал gradle (для Android Studio ).

Btw, Эти шаги относятся к OSX (Mountain Lion 10.8.5)

Выполните следующую команду:

sudo nano /etc/paths (или sudo vim /etc/paths для vim)

nano

Откройте новое окно терминала и введите:

Вы должны увидеть новый путь, добавленный в конец PATH

Я надеюсь, что это может помочь кому-то еще

Ответ 6

Упрощенное объяснение

Этот пост/вопрос старый, поэтому я отвечу на упрощенную версию для пользователей OS X Lion. По умолчанию OSX Lion не имеет ни одного из следующих файлов:

В лучшем случае, если вы сделали что-либо в терминале, вы можете увидеть

Что это значит

Вы должны создать файл, чтобы установить свои команды по умолчанию bash (обычно в

/.bashrc). Для этого используйте любой редактор, хотя это проще сделать в терминале:

  • % > emacs.profile
  • [from w/in emacs type:] source

В следующий раз, когда вы выйдете и перезагрузите терминал, он должен загрузить все ваши настройки bash. Для хорошей оценки обычно полезно отделить свои команды от полезных имен файлов. Например, из

/.bashrc вы должны иметь source

/.bash_aliases и поместить все свои команды псевдонимов в

Ответ 7

Что сработало для меня, так это создать .launchd.conf с необходимыми переменными:

Этот файл читается startd при входе в систему. Вы можете добавить переменную "на лету" к запущенному запуску с помощью:

Фактически, .launchd.cond просто содержит команды launchctl.

Переменные, установленные таким образом, как представляется, присутствуют в графических приложениях правильно.

Если вы пытаетесь установить переменные LANG или LC_ таким образом, и вы используете iTerm2, убедитесь, что вы отключили параметр "Установить языковые переменные автоматически" на вкладке "Терминал" профиля, который вы с помощью. Это, кажется, переопределяет переменные среды запуска, и в моем случае была установлена ​​неисправная проблема LC_CTYPE, вызывающая проблемы на удаленных серверах (которые получили переданную переменную).

(Тем не менее, среда environment.plist работает на моем Льве. Вы можете использовать панель предпочтений RCenvironment, чтобы сохранить файл вместо этого вручную редактируя его или требуется Xcode. По-видимому, он работает на Lion, хотя последнее обновление относится к эпохе Snow Leopard. Делает это мой личный предпочтительный метод.)

Ответ 8

Установите переменную среды PATH в Mac OS

Откройте программу терминала (это по умолчанию используется в папке Applications/Utilites). Выполните следующую команду

Это откроет файл в текстовом редакторе по умолчанию.

Для ANDROID SDK в качестве примера:

Вам нужно добавить путь к каталогу инструментов и инструментов платформы Android SDK. В моем примере я буду использовать "/Development/android-sdk-macosx" в качестве каталога, в который установлен SDK. Добавьте следующую строку:

Сохраните файл и закройте текстовый редактор. Выполните свой .bash_profile, чтобы обновить PATH.

Теперь каждый раз, когда вы открываете программу терминалов, в которой PATH будет включать Android SDK.

Ответ 9

Это было довольно прямолинейно и работало для меня, в терминале:

Ответ 10

Применить изменения к системе (нет необходимости перезагружать компьютер):

(Также работаем с macOS Sierra 10.12.1)

Ответ 11

Перейдите в папку /Applications/eclipse/Eclipse.app/Contents

Измените файл Info.plist текстовым редактором (или XCode), добавьте словарь LSEnvironment для переменной окружения с полным путем. Обратите внимание, что он включает также /usr/bin и т.д.:

Обновить параметры для приложения с помощью

Ответ 12

Позвольте мне проиллюстрировать вас из моего личного примера в очень излишней форме.

enter image description here

Иногда macOS или Linux автоматически устанавливают переменную окружения для вас, в отличие от Windows. Но это не всегда так. Так что давай проверим это. Строка сразу после echo $ JAVA_HOME будет пустой, если переменная окружения не установлена. Он должен быть пустым в вашем случае.

enter image description here

Теперь нам нужно проверить, есть ли у нас файл bash_profile. Вы видели, что в моем случае у нас уже есть bash_profile. Если нет, мы должны создать файл bash_profile.

enter image description here

Создайте файл bash_profile.

enter image description here

Проверьте еще раз, чтобы убедиться, что файл bash_profile находится там.

enter image description here

Теперь давайте откроем файл bash_profile. macOS открывает его, используя программу TextEdit по умолчанию.

enter image description here

Откройте терминал снова. Давайте проверим, установлена ли переменная окружения.

Ответ 13

Я взял идиотский маршрут. Добавлено их до конца /etc/profile

создана папка /etc/environment создайте в нем файл "oracle" или "whatever" и добавьте материал, который мне нужно установить глобально.

Ответ 14

Более подробная информация, которая может быть полезной для кого-то:

Из-за моих собственных исследований я теперь знаю, как установить переменные среды в 7 из 8 разных способов. Я пытался получить envar через приложение, которое я разрабатываю под Xcode. Я установил envars "tracer", используя эти разные методы, чтобы сказать, какие из них попадают в сферу моего приложения. Из нижеследующего вы можете видеть, что редактирование "схемы" в Xcode для добавления аргументов работает, как и "putenv". Что не установлено в этой области:

/.MACOS/environment.plist, специфичный для приложения plist,.profile и добавление фазы сборки для запуска пользовательского script (я нашел другой способ в Xcode [по крайней мере] установить, но забыл, что я назвал трассировщиком, и не могу найти его сейчас, может быть, это на другой машине. )

. с другой стороны, если я заеду в Терминал и скажу "set", кажется, что единственное, что он получает, это тот, что из .profile(я бы подумал, что он заберет environment.plist, и Я уверен, что как только я увижу второй трейсер-энвар в Терминале, так что с того времени что-то сменилось. Длинный день. )

Ответ 15

Теперь откроется текстовый редактор:

Шаг 2: имя переменной должно быть прописным. в этом примере переменная NODE_ENV

Несмотря на минималистичный интерфейс, операционная система macOS оснащена внушительным набором возможностей, которые удовлетворят запросы даже самых требовательных пользователей. К примеру, чтобы определить путь к конкретному файлу в Finder, можно использовать не один, а сразу шесть способов.

В тему:


1. Определить путь к файлу через «Строку пути» Finder

Что сделать: откройте Finder, перейдите в меню «Вид», выберите пункт «Показать строку пути».

После соответствующего набора действий путь к файлу получится определить в нижней части интерфейса Finder. Для этого его достаточно будет просто выделить.


2. Скопировать путь к файлу через контекстное меню

Что сделать: откройте Finder, активируйте контекстное меню для конкретного файла, зажмите кнопку Option(⌥) и выберите вариант «Скопировать путь».

Когда сделаете это, в буфере обмена вашего Mac окажется полный путь к указанному файлу в таком формате:

/Applications/TouchRetouch.app

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


3. Оценить путь к файлу через строку поиска Spotlight

Что сделать: запустите Spotlight, найдите необходимый файл, нажмите на него и зажмите кнопку Command(⌘).

После этой цепочки действий в нижней части окна Spotlight появится аналог строки пути из первого пункта данной статьи.


4. Посмотреть путь к файлу через «Свойства» файла

Что сделать: откройте Finder, активируйте контекстное меню для конкретного файла, выберите пункт «Свойства» и оцените поле «Место».

Кроме всей необходимой дополнительной информации про конкретный файл здесь также будет указан и путь к нему.


5. Перенести файл в интерфейс системного «Терминала»

Что сделать: откройте Finder, запустите системное приложение «Терминал», перетащите конкретной файл в его интерфейс.

Первоначально эта возможность предназначена для упрощения ввода необходимых текстовых команд. Тем не менее, она также отлично подойдёт и для определения пути для файла.


6. Запустить меню перехода в адресной строке Finder

Что сделать: откройте Finder, перейдите к папке с необходимым файлом, запустите контекстное меню для поля с указанием её названия в адресной строке.

Это меню предназначено для быстрого перехода к любой из папок верхнего уровня по отношению к текущей. С помощью него можно также определить точное расположение файла.

Как посмотреть и скопировать путь к файлу или папке в Finder на Mac OS

Если вы недавно начали работать с Mac OS и столкнулись с задачей, где требуется скопировать путь к файлу или папке из Finder и вставить его где-то ещё, то порядок действий может быть неочевидным. Тем не менее, сделать это очень просто.

В этой инструкции подробно о 4-х способах просмотреть или же скопировать полный путь к нужной папке или файлу на Mac.

Быстрое копирование пути в Терминал

Если ваша цель — вставить путь к файлу или папке в Терминал Mac OS для выполнения какой-либо команды, то самый простой способ сделать это состоит из следующего одного шага:

Перетащите файл или папку на окно терминала в нужное место и отпустите: путь к ней будет вставлен автоматически.

Копирование пути к файлу из Finder в Терминал Mac OS

По факту путь не будет скопирован в буфер обмена, а просто добавится к команде в Терминале. Но, с учетом того, что очень часто требуется именно это, способ может быть очень удобным.

Просмотр и копирование пути через меню Finder

Следующий метод — использование пункт меню «Вид» в приложении Finder:

Копирование пути из строки внизу окна Finder

  1. Находясь в нужной папке откройте меню «Вид».
  2. Нажмите по пункту «Показать строку пути».
  3. Внизу окна Finder будет отображен путь к текущей папке, при нажатии «правым» кликом на любую папку в пути, вы увидите пункт «Скопировать путь до» с указанием папки — нажмите по этому пункту и путь к папке будет скопирован в буфер обмена.

После этого скопированный путь можно вставить в любом приложении. Недостаток способа: нельзя копировать пути к файлам.

Пункт «Место» в свойствах папки

Если нажать правой кнопкой мыши или двойным нажатием по тачпаду по файлу или папке в Mac OS, а затем открыть пункт контекстного меню «Свойства», в списке свойств вы увидите пункт «Место», где можно посмотреть полный путь к папке, где находится выбранный элемент.

Просмотр и копирование пути в свойствах файла Mac OS

При нажатии по этому пункту правой кнопкой мыши, его можно скопировать. Но, как и в предыдущем способе, копируется только путь к папке, не к файлу.

Включение показа пути к папке в заголовке Finder

В Finder для Mac существует скрытый параметр, позволяющий включить показ пути к текущей папке прямо в заголовке окна. Копирование оттуда недоступно, но функция может быть удобной. Для того, чтобы включить функцию, в терминале введите команду:

Результат вы можете видеть на следующем изображении:

Путь к папке в заголовке Finder на Mac OS

Если в дальнейшем вы захотите вернуть прежний вид Finder, используйте ту же команду, но замените слово true на false.

Видео инструкция

А вдруг и это будет интересно:

25.05.2021 в 09:38

спасибо, а то я всегда с этим мучаюсь (приходится попеременно работать на Windows и Mac)

25.05.2021 в 15:30

26.05.2021 в 19:21

Здравствуйте.
Обычно никакую отладку и не нужно включать: просто подключили кабелем, на телефоне разрешили доступ к файлам (в области уведомлений обычно) и копируем как по тому же принципу, что и на флешку.

27.05.2021 в 14:28

29.05.2021 в 10:44

Здравствуйте.
А существует ли возможность этот же телефон проверить на другом компьютере, к которому он раньше не подключался? Если да, то: а там то же самое поведение наблюдается?


Пакет AIR SDK содержит несколько программ, которые можно запускать из командной строки или окна терминала. Запускать эти программы будет намного удобнее, если определить путь к каталогу bin SDK с помощью переменной среды Path.

В данном разделе представлено общее описание процедуры настройки пути в Windows, Mac и Linux. Однако конфигурации компьютеров могут существенно отличаться, поэтому данная процедура работает не во всех системах. В этом случае нужную информацию можно найти в документации по операционной системе или в Интернете.

Настройка переменной среды PATH в Linux и Mac OS с использованием оболочки Bash

Когда команда вводится в окно терминала, оболочка (программа, которая считывает вводимые команды и пытается отреагировать соответствующим образом) сначала должна найти программу команды в файловой системе. Оболочка выполняет поиск команд в списке каталогов, который хранится в переменной среды с именем $PATH. Чтобы посмотреть текущее значение переменной path, введите следующую команду:

Будет выведен список разделенных двоеточием каталогов примерно в таком виде:

Путь к каталогу bin пакета AIR SDK необходимо добавить в этот список, чтобы оболочка могла находить ADT и инструменты ADT. Предположим, что AIR SDK находится в каталоге /Users/fred/SDKs/AIR . В этом случае для добавления нужных каталогов в переменную среды path используется следующая команда:

Примечание. Если путь содержит символы пробелов, перед ними следует вставить символ обратной косой черты, как показано ниже:

Чтобы проверить результаты добавления, можно еще раз выполнить команду echo :

Каталоги добавлены успешно. Теперь вы сможете вызывать следующие команды и получать корректный ответ:

Если переменная среды $PATH была изменена правильно, в результате выполнения команды должна быть выдана версия среды ADT.

Однако имеется одна проблема: при открытии нового окна терминала вы заметите, что переменная path больше не содержит новые элементы, которые ранее были в нее добавлены. Команду настройки пути необходимо выполнять каждый раз при запуске нового терминала.

Общим решением этой проблемы будет добавление команды в один из сценариев запуска, которые используются оболочкой. В ОС Mac OS можно создать файл .bash_profile в каталоге

/username, который будет запускаться каждый раз при открытии нового окна терминала. В Ubuntu сценарием, который запускается при открытии нового окна терминала, является .bashrc. В других дистрибутивах Linux и оболочках применяются аналогичные правила.

Процедура добавления команды в сценарий запуска оболочки

Измените домашний каталог:

Создайте профиль конфигурации оболочки (при необходимости) и перенаправьте вводимый текст в конец файла с помощью команды « cat >> ». Используйте соответствующий файл для своей операционной системы и оболочки. Например, в ОС Mac OS можно использовать .bash_profile , а в Ubuntu — .bashrc .

Введите текст, который требуется добавить в файл:

Завершите перенаправление текста, нажав клавиши CTRL-SHIFT-D на клавиатуре.

Отобразите файл, чтобы убедиться в правильности выполнения операции:

Откройте новое окно терминала, чтобы проверить путь:

Добавленные элементы должны быть выведены на экране.

Если позднее будет создана новая версия одного из пакетов SDK, которая будет помещена в другой каталог, команду настройки пути в файле конфигурации необходимо будет обновить соответствующим образом. В противном случае оболочка продолжит использование старой версии.

Настройка переменной среды PATH в ОС Windows

При открытии командное окно в Windows наследует глобальные переменные среды, определенные в свойствах системы. Одной из важных переменных является переменная path, содержащая список каталогов, в которых выполняется поиск введенной программы. Чтобы посмотреть текущий список каталогов в переменной path, в командном окне можно ввести следующую команду:

Будет выведен список разделенных двоеточием каталогов, который выглядит примерно следующим образом:

Путь к каталогу bin пакета AIR SDK необходимо добавить в этот список, чтобы программа команд могла находить ADT и инструменты ADT. Предположим, что пакет AIR SDK находится в каталоге C:\SDKs\AIR . В этом случае путь можно добавить следующим образом:

В разделе «Панель управления» откройте диалоговое окно «Свойства системы» или нажмите правой кнопкой мыши на значке «Мой компьютер» и в меню выберите пункт «Свойства».

На вкладке «Дополнительно» нажмите кнопку «Переменные среды».

В разделе «Системные переменные» диалогового окна «Переменные среды» выберите элемент «Path».

Перейдите в конец строки в поле «Значение переменной».

В самом конце текущего значения введите следующий текст:

Если в этот момент имеются открытые командные окна, изменения для них применены не будут. Откройте новое командное окно и введите следующую команду, чтобы убедиться в правильности настройки переменной среды:

Если позднее расположение пакета AIR SDK будет изменено или будет добавлена новая версия, переменную среды path необходимо будет изменить соответствующим образом.

Эта работа лицензируется в соответствии с лицензией Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported

На посты, размещаемые в Twitter™ и Facebook, условия Creative Commons не распространяются.

Что такое PATH в Mac OS? Я использовал его для установки глобальных инструментов командной строки, но единственная документация, которую я нашел, - это учебные пособия для этого, без реального объяснения того, что происходит под капотом. Я также не нашел соответствующей страницы в Википедии .

Так какова цель PATH и в чем разница между /etc/paths и

Например, в моем paths файле я вижу это:

/.bash_profile , я вижу это:

Это просто пользовательское дополнение к paths файлу? Что это за штука paths , как /usr/bin ?

Пожалуйста, не объединяйте несколько вопросов в одном посте. Каждый из ваших вопросов будет приветствоваться здесь отдельно, но не все вместе, как это. Пожалуйста, сократите это до одного вопроса, вы можете объединить 1 и 2, но другие не имеют ничего общего с PATH. 3 здесь ответили 4 объяснено здесь и 5 не имеет особого смысла, я боюсь. Также не ваш бонус вопрос, какие файлы являются двоичными? Скриптов нет. Я отредактировал свой вопрос вниз. Кроме того, я нашел эти ссылки полезными. Спасибо.

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.

Я просто отредактировал их, но спасибо за ответы на все из них! @ggundersen Я урезал свой ответ, чтобы соответствовать твоему отредактированному вопросу. @ggundersen вы также можете прочитать мой ответ и ссылки там о /etc/paths OSX.

Так ваша оболочка находит программы. При вводе 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 и $ обычно взаимозаменяемы. Они говорят оболочке расширять значение текущей PATH переменной на месте. Разница заключается в том, как и где вы их используете. Например:

Во второй echo команде оболочка ничего не печатает, потому что она просит оболочку напечатать переменную с именем FOOx , которая не существует; оболочка обрабатывает несуществующие переменные как пустые. Поскольку третий echo использует синтаксис фигурных скобок, он позволяет оболочке видеть, что вы запрашиваете FOO переменную, и что x это просто еще один символ, который вы хотите напечатать сразу после этого.

Между прочим, есть другой способ получить тот же эффект без фигурных скобок:

Переменные окружения раскрываются в двойных кавычках, а кавычки отделяются x от раскрытия переменных, поэтому оболочка делает правильные вещи.

Я использую FOO переменную окружения здесь просто для ясности. Все, что я написал выше, также применимо PATH , поскольку это просто еще одна переменная окружения. Тексты примеров были бы намного длиннее.

Что означает экспорт PATH? Когда мы экспортируем?

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

Когда я впервые запускаю новую bash оболочку под той, которую я уже использовал, а затем пытаюсь показать значение FOO , я получаю пустое значение, потому что FOO не было экспортировано для просмотра подпрограммами. Затем я вышел из второго bash экземпляра, экспортировал его, bash снова запустился , и теперь второй экземпляр видит значение FOO .

Вы используете, export когда хотите, чтобы подпрограммы видели значения, установленные в оболочке, и не используете его, если не хотите, чтобы это произошло.

Как правило, я не экспортирую временные переменные в сценарии оболочки, потому что не хочу, чтобы они меняли поведение программ, запускаемых из этого сценария оболочки.

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

Читайте также: