Como fazer alterações no / etc / profile entrarem em vigor

2

Estou tentando alterar $GRAILS_HOME de /usr/grails-1.3.7 para /usr/grails-2.0.0

Se eu fizer apenas export GRAILS_HOME=/usr/grails-2.0.0 , ele não persistirá quando eu sair e voltar.

Eu encontrei uma linha em /etc/profile usando grep -R "GRAILS_HOME" /etc/ , que se parece com

GRAILS_HOME=/usr/grails-1.3.7
...
export PATH ... GRAILS_HOME ...

Então eu mudei isso e desconectei. A alteração não parece ter entrado em vigor, embora minhas edições no arquivo permaneçam. Eu não posso reiniciar a máquina, pois está servindo coisas para o meu amigo e ele está apenas me dando algum espaço. Mas eu quero a variável de ambiente alterada permanentemente e em todos os lugares. O que preciso fazer?

    
por Mikey 07.03.2012 / 22:44

2 respostas

1

Use export GRAILS_HOME=/usr/grails-2.0.0 em / etc / profile. Se você deixar de fora a parte export , não estará tornando GRAILS_HOME persistente no ambiente.

    
por 08.03.2012 / 00:07
0

Você precisaria ter export GRAILS_HOME também. Sem o export , GRAILS_HOME é definido apenas como uma variável interna do shell; A instrução export a transforma em uma variável de ambiente que é visível pelos processos iniciados por esse shell. Você pode combinar export com a atribuição, ou seja, escrever

export GRAILS_HOME='/usr/grails-2.0.0'

Se não estiver lá, então GRAILS_HOME está sendo definido de algum outro lugar no seu sistema também, e você precisa alterar isso. O outro lugar pode estar ou estar abaixo de /etc ou em sua conta, tente com outra conta.

Se GRAILS_HOME estiver sendo definido a partir de /etc/environment , isso não é um arquivo de origem do shell, ele parece um pouco com um. Mas as atribuições são apenas VAR="VALUE" , não há export declarações.

    
por 08.03.2012 / 00:34