Onde definir variáveis de ambiente é coberto em Qual é a melhor maneira de distribuir as variáveis de ambiente?
Em relação à nomenclatura, o principal motivo para definir variáveis de ambiente é porque um aplicativo as utiliza, portanto, você não pode escolher o nome.
Não há conceito de namespaces para variáveis de ambiente. O mais próximo é escolher um prefixo, geralmente no formato SOMETHING_
(ou seja, o prefixo termina com um sublinhado e você tem as variáveis SOMETHING_FOO
, SOMETHING_BAR
,…). Mas a maioria das variáveis não é para um aplicativo específico, mas sim uma família de aplicativos. Se uma variável é apenas significativa em um aplicativo, geralmente deve ser uma opção de linha de comando. Portanto, não há muita necessidade de namespaces.
Se você está definindo variáveis apenas para uso na linha de comando, então não use variáveis de ambiente, use variáveis shell . (Consulte Diferença entre variáveis de ambiente e variáveis de ambiente exportadas no bash ) Se você definir uma variável em um script de shell e não usar export
, será uma variável do shell, não uma variável de ambiente, e ficará visível apenas no shell em que você os definiu. Então, se você está definindo uma variável para usar na linha de comando:
- Defina-o no arquivo de inicialização interativo do shell (
~/.bashrc
para bash,~/.zshrc
para zsh,~/.config/fish/config.fish
para fish). - Não
export
it. - Há uma convenção generalizada de que as variáveis de ambiente são todas maiúsculas e as variáveis de shell são todas minúsculas.
Para seu próprio uso, escolha os nomes que quiser, contanto que eles não entrem em conflito com as variáveis de ambiente que você usa (as variáveis de ambiente são importadas automaticamente como variáveis de shell). Eu não recomendo um sublinhado inicial porque é isso que os sistemas de completamento do bash e do zsh usam internamente.