Confuso sobre a configuração de variáveis de ambiente

2

Eu tenho tentado definir algumas variáveis de ambiente por horas e isso não funciona grml Aqui a configuração:

Eu uso o Debian 6 e lá o terminal da área de trabalho. Nesta janela, eu digito "su" para logar como root. Existem dois outros usuários: myname e globus. Agora eu quero definir as variáveis JAVA_HOME, ANT_HOME e PATH para todos os três usuários (root, myname, globus). Com relação a este artigo editei o / home / myname / .profile e /home/globus/.profile adicionaram isto:

export JAVA_HOME="/usr"
ANT_HOME="/lib/apache-ant-1.8.2"

Agora, quando eu fizer login como globus (abra o Terminal no desktop e digite "su globus") e ecoe $ ANT_HOME, recebo "/ usr" e não o valor acima ... ao lado disso, recebo apenas um "$ "e o começo da linha e não algo como" root @ mydebian: / current / path ".

Este é o conteúdo do meu .profile:

# if running bash
if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
    PATH="$HOME/bin:$PATH"
fi

JAVA_HOME=/usr/bin;
export JAVA_HOME
    
por strauberry 16.05.2011 / 18:30

2 respostas

1

Um ~ / .profile de um usuário é lido por um shell de login. Executar "su usuário " efetivamente muda sua identidade para usuário iniciando um shell como usuário ; você não fez login como usuário . Para logar como usuário , execute "su -l usuário ".

    
por 16.05.2011 / 18:58
1

Isso deve funcionar:

JAVA_HOME=/usr;
export JAVA_HOME
ANT_HOME=/lib/apache-ant-1.8.2;
export ANT_HOME

Você não precisa ter isso em linhas separadas, apenas gosto de mantê-lo assim para que possa adicioná-lo ao PATH mais tarde, por exemplo:

GRAILS_HOME=/Users/werner/Library/grails;
export GRAILS_HOME
export PATH=$GRAILS_HOME/bin:$PATH
    
por 16.05.2011 / 18:41