Estou executando o Ubuntu 11.04. Eu uso o terminal para iniciar uma sessão bash e quero adicionar uma variável de ambiente:
$r@hajt:~$ env THEVAR=/example
Mas não está a funcionar. Ele mostra todas as variáveis com THEVAR sendo o último, mas outra chamada para env não mostra THEVAR mais- env | grep THEVAR não devolve nada.
Da mesma forma, scripts com exportação (export THEVAR=/example) ou outras atribuições de variáveis (THEVAR=/example) não adicione a variável de ambiente.
Eu sei que estou fazendo algo errado, eu sei que deveria ser algo simples, mas eu simplesmente não consigo encontrar o que.
Para definir uma variável de ambiente uma vez, use o export comando no prompt, não em um script de shell:
$ export THEVAR=/example
A variável será definida para o resto da sessão shell ou até não ser definida.
Para definir uma variável de ambiente sempre, use o export comando no .bashrc arquivo (ou o arquivo de inicialização apropriado para o seu shell).
Para definir uma variável de ambiente a partir de um script, use export comando no script e, em seguida, source roteiro. Se você executar o script, ele não funcionará.
Para que as alterações de ambiente/var persistam após a conclusão do script, você deve usarsource ./script.sh ou a notação abreviada para fonte,".", comer . ./script.sh
A fonte executará os comandos no script como se você os tivesse digitado... portanto, ele altera alguns aspectos do script, como sair... portanto, se o seu script verificar algo e decidir sair se for falso, por exemplo, por meio de chamadas exit 0, encerrará sua sessão atual do terminal / shell.
Eu sei que é muito tarde, mas se você quiser adicionar uma variável de ambiente para todos os usuários ( por exemplo, uso de JAVA) - você pode fazer o seguinte:
1) Aberto /etc/bash.bashrc usando nano (você pode usar qualquer editor, Eu não Prefiro VIM como é o pior quando se trata de facilidade de Uso - nada pessoal).
2) Anexar ao arquivo:
export VAR=path export PATH=$PATH:/bin3) (Melhor Se você pode saltar a caixa) - ou simplesmente abrir uma nova sessão SSH e confirmar usando o comando `env'.
Mas se você quiser que cada usuário tenha uma configuração separada para isso, você tem que fazer uma mudança (scripted) para .bashrc arquivo em ~/.bashrc (ou /home/$USER/ se você é novo em sistemas Linux)
Se você estiver fazendo coisas via script, uma maneira fácil de definir a variável de ambiente permanentemente é colocar a instrução abaixo em seu script,
if [[ ! -d "$MyVar" ]]; then export MyVar="abc" echo 'export MyVar="abc"' >> ~/.bashrcfi
Se você precisar avaliar expressões como pwd, você pode usar isso, por exemplo,
Se você estiver usando o Ubuntu ou qualquer sistema baseado em Unix, exporte as variáveis no ~/.bashrc arquivo. É um arquivo oculto e você pode chegar lá através do terminal ou unhiding arquivos ocultos no sistema de arquivos.
Em seguida, edite o arquivo e defina export THEVAR=/example lá, salve e está feito.