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

[EMAIL PROTECTED]:~ $ echo $CLASSPATH

[EMAIL PROTECTED]:~ $ 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:."

[EMAIL PROTECTED]:~ $ 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:.

[EMAIL PROTECTED]:~ $
------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/


Responder a