Я всегда думал об эффективном способе управления переменными среды в операционных системах, таких как Ubuntu, macOS и т.д. У меня есть пара вопросов, связанных с этим.
Есть ли здравый смысл в том, что каждое исполняемое программное обеспечение, установленное в системе, должно быть доступно для всей системы с точки зрения вызова? Или исполняемые файлы должны вызываться только оболочкой по умолчанию?
Я видел экспорт переменных оболочки для расширения метода переменной PATH везде. Но он применяется только в одной оболочке. Потому что каждая оболочка имеет свой файл для инициализации. Нам нужно написать одно и то же утверждение в каждом файле оболочки. Например, если я использую zsh, я должен сделать так:
echo 'export PATH = "/path/to/bin:$ PATH"' >> ~/.zshrc
- Те программы, которые не находятся в общесистемном пути, не могут быть вызваны напрямую другой программой. Я предполагаю, что это своего рода изоляция между исполняемыми файлами по умолчанию и другими, чтобы очистить системный путь. Тогда мы не должны манипулировать общесистемной PATH?
Я могу немного запутать, извините за это. Но я был бы очень признателен, если бы вы помогли мне объяснить это.