Sempre pensei na maneira eficaz de gerenciar variáveis de ambiente em sistemas operacionais como Ubuntu, macOS, etc. Tenho algumas perguntas relacionadas a isso.
Existe um senso comum de que todo software executável instalado no sistema deve estar disponível em todo o sistema em termos de chamada? Ou os executáveis devem ser chamados apenas pelo shell por padrão?
Eu tenho visto exportar variável shell para estender o método variável PATH em todos os lugares. Mas é aplicado apenas em um shell. Porque todo shell tem seu próprio arquivo para inicialização. Precisamos escrever a mesma declaração em cada arquivo shell. Por exemplo, se eu usar o zsh, devo fazer assim:
echo 'export PATH = "/ caminho / para / bin: $ PATH"' >> ~ / .zshrc
- Os programas que não estão no caminho de todo o sistema, não podem ser invocados diretamente por outro programa. Eu acho que é um tipo de isolamento entre executáveis padrão e outros para limpar o caminho do sistema. Então não devemos manipular o PATH em todo o sistema?
Eu posso confundir um pouco, desculpe por isso. Mas eu realmente apreciaria se você pudesse me ajudar a esclarecer.