[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Porque EXPORT não funciona?



Olá pessoal,

	Estou lendo o Guia Foca Linux pra ver se aprendo alguma coisa, mas
resolvi também mandar esta mensagem para ver se alguém me explica uma
dúvida mais imediata, porque não entendo porque não está funcionando.

	No final do arquivo /etc/profile, coloquei a seguinte linha:

-------CUT---------
sh /etc/java_profile.sh
-------CUT---------

	O arquivo java_profile.sh serve para configurar o CLASSPATH, e ele é o
seguinte:

-------CUT---------
### Início - Configurações Java ###
# Diretório raiz do Java:
JAVA_HOME="/opt/j2sdk1.4.1"

# Diretório de bibliotecas Java:
JAVA_LIBS_HOME="/opt/javalib"

# Classpath das classes Java e das bibliotecas externas:
JAVA_CP_CORE="${JAVA_HOME}/lib/tools.jar:${JAVA_HOME}/lib/dt.jar:${JAVA
_HOME}/lib/htmlconverter.jar"

JAVA_CP_ABSOLUTELAYOUT="${JAVA_LIBS_HOME}/absolute-layout.jar"

JAVA_CP_MYSQL="${JAVA_LIBS_HOME}/mysql-connector-java-2.0.14-bin.jar"

JAVA_CP_JLFGR="${JAVA_LIBS_HOME}/jlfgr-1_0.jar"

# Classpath completo:
export
CLASSPATH="${JAVA_CP_CORE}:${JAVA_CP_ABSOLUTELAYOUT}:${JAVA_CP_MYSQL}:$
{JAVA_CP_JLFGR}:."

echo Setting classpath: $CLASSPATH
### Fim - Configurações Java ###
-------CUT---------

	Quando abro um XTerm, acontece o seguinte:

-------CUT---------
Setting classpath:
/opt/j2sdk1.4.1/lib/tools.jar:/opt/j2sdk1.4.1/lib/dt.jar:/opt/j2sdk1.4.
1/lib/htmlconverter.jar:/opt/javalib/absolute-layout.jar:/opt/javalib/m
ysql-connector-java-2.0.14-bin.jar:/opt/javalib/jlfgr-1_0.jar:.

vitor@seattle:~ $ echo $CLASSPATH

vitor@seattle:~ $ export
CLASSPATH="/opt/j2sdk1.4.1/lib/tools.jar:/opt/j2sdk1.4.1/lib/dt.jar:/op
t/j2sdk1.4.1/lib/htmlconverter.jar:/opt/javalib/absolute-layout.jar:/op
t/javalib/mysql-connector-java-2.0.14-bin.jar:/opt/javalib/jlfgr-1_0.ja
r:."

vitor@seattle:~ $ echo $CLASSPATH
/opt/j2sdk1.4.1/lib/tools.jar:/opt/j2sdk1.4.1/lib/dt.jar:/opt/j2sdk1.4.
1/lib/htmlconverter.jar:/opt/javalib/absolute-layout.jar:/opt/javalib/m
ysql-connector-java-2.0.14-bin.jar:/opt/javalib/jlfgr-1_0.jar:.

vitor@seattle:~ $
------CUT---------

	Ou seja, o java_profile.sh é executado, dentro dele a variável
CLASSPATH é configurada corretamente e ele imprime-a na tela. No
entanto, ela não exportada para o ambiente, então um "echo $CLASSPATH"
não retorna nada. Se eu executar a mesma linha "export CLASSPATH=..." no
XTerm e depois fizer "echo $CLASSPATH", vejo que agora a variável foi
exportada corretamente. Por que isso acontece? Porque o export dentro do
java_profile.sh chamado pelo /etc/profile não funciona?

Abraços,
	- Vítor

____________________________________________
Vítor Estêvão Silva Souza
http://cliente.escelsanet.com.br/vitorsouza/




Reply to: