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 ".
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
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 ".
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