Каков рекомендуемый способ управления переменными среды в системах Unix?

406
fivetech

Я всегда думал об эффективном способе управления переменными среды в операционных системах, таких как Ubuntu, macOS и т. Д. У меня есть пара вопросов, связанных с этим.

  • Есть ли здравый смысл в том, что каждое исполняемое программное обеспечение, установленное в системе, должно быть доступно для всей системы с точки зрения вызова? Или исполняемые файлы должны вызываться только оболочкой по умолчанию?

  • Я видел экспорт переменных оболочки для расширения метода переменной PATH везде. Но он применяется только в одной оболочке. Потому что каждая оболочка имеет свой файл для инициализации. Нам нужно написать одно и то же утверждение в каждом файле оболочки. Например, если я использую zsh, я должен сделать так:

echo 'export PATH = "/ path / to / bin: $ PATH"' >> ~ / .zshrc

  • Те программы, которые не находятся в общесистемном пути, не могут быть вызваны напрямую другой программой. Я предполагаю, что это своего рода изоляция между исполняемыми файлами по умолчанию и другими, чтобы очистить системный путь. Тогда мы не должны манипулировать общесистемной PATH?

Я могу немного запутать, извините за это. Но я был бы очень признателен, если бы вы помогли мне объяснить это.

0

1 ответ на вопрос

1
Hogstrom

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

Пользователи - другая персона, и они являются гостями в системе, и их конфигурации подобны украшению вашей комнаты. Установите необходимое программное обеспечение, добавьте или удалите записи PATH, добавьте программное обеспечение, отсутствующее в системе. В общем, если вы хотите что-то общесистемное, тогда / etc - это место, где будут установлены настройки. Для пользовательской настройки вы должны сделать это в своей учетной записи пользователя с соответствующей конфигурацией, например .profile или .bashrc для Bash. Каждое программное обеспечение имеет свою уникальную структуру конфигурации.

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

Нет волшебной формулы на самом деле, делай то, что работает для тебя.

Похожие вопросы