mac, ao adicionar variáveis ambientais usando 'export ABC = / var / blah / onde esta armazenado?

2

ao adicionar env varialbes como:

exportar JAVA_HOME = / usr / java / skd / bin

onde isso é armazenado se eu quiser editá-lo mais tarde? é um arquivo em algum lugar?

    
por user27449 06.06.2010 / 05:58

2 respostas

4

Quando você exporta uma variável de ambiente, ela não é armazenada em nenhuma memória não volátil, como disco rígido ou algo semelhante. Só é lembrado pelo shell, além disso, apenas no shell em que você executou esse comando, manualmente ou com um script. Portanto, uma resposta à sua primeira pergunta pode ser "ela é armazenada apenas na memória, local para executar o shell". É claro que qualquer coisa que você executar no shell herdará seu ambiente.

Se você quiser alterar o valor da variável de ambiente, basta executar export novamente com o mesmo nome de variável, como export JAVA_HOME=/usr/other_java/bin .

Como o taspeotis anotado , se você quiser que a variável de ambiente seja restaurada em cada aplicativo iniciado sem precisar digitá-lo manualmente, você pode usar o arquivo ~/.MacOSX/environment.plist .

Se você quiser que seja definido apenas nas janelas do Terminal, você pode adicionar o comando export (como você o digitaria no shell) ao final do arquivo ~/.bashrc (o shell expande ~ para o seu diretório pessoal ).

    
por 06.06.2010 / 14:02
1

where is this stored if I want to edit it later?

O que você quer dizer com editar depois? Exporte novamente. Não importa onde esteja armazenado, imagino que a implementação poderia ser específica do shell, talvez o shell realize o cache de variáveis. Talvez isso não ocorra. De qualquer forma, você pode ler e escrever as variáveis de ambiente no shell, então não consigo imaginar por que você precisa desse arquivo.

export KEY=VALUE1

...

export KEY=VALUE2

Para o registro, o arquivo é ~/.MacOSX/environment.plist , conforme aqui .

    
por 06.06.2010 / 07:08