Autor Tópico: Setar variáveis de ambiente na inicialização  (Lida 2424 vezes)

Offline douglasrauber

  • Usuário Ubuntu
  • *
  • Mensagens: 7
    • Ver perfil
Setar variáveis de ambiente na inicialização
« Online: 24 de Junho de 2007, 10:46 »
Olá galera!

Estou enfrentando problemas no ubuntu 7.04 para setar algumas variáveis!

gostaria de rodar o seguinte script, salvo em /etc/init.d/asa7_configs.sh, com um link simbolico em /etc/rc0.d/S99evn_asa

Código: [Selecionar]
#!/bin/sh
#
CLASSPATH="/opt/sybase/asa7/java/jlogon.jar:/opt/sybase/shared/jConnect-5_2/classes/jconn2.jar:$CLASSPATH"
export CLASSPATH
PATH="/opt/sybase/shared/sybcentral40/java:$PATH"
export PATH
PATH="/opt/sybase/asa7/bin:$PATH"
export PATH
LD_LIBRARY_PATH="/opt/sybase/asa7/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH
ASANY="/opt/sybase/asa7"
export ASANY


quando executo o código manualmente /etc/rc0.d/S99env_asa não é reportado nenhum problema, se eu chamar diretamente /etc/init.d/asa7_configs.sh também não, porém, se eu der um export após rodar o comando, as variáveis não aparecem. Quando eu faço os export de forma manual, por exemplo

rauber@rauber-desktop:~$ LD_LIBRARY_PATH="/opt/sybase/asa7/lib:$LD_LIBRARY_PATH"
rauber@rauber-desktop:~$ export LD_LIBRARY_PATH
funciona perfeitamente. Onde estou errando para fazer esse script rodar na inicialização e as minhas variáveis estarem "valendo" ?

Offline clcampos

  • Administrador
  • Usuário Ubuntu
  • *****
  • Mensagens: 10.790
  • .:: User Linux #439596 ::.
    • Ver perfil
Re: Setar variáveis de ambiente na inicialização
« Resposta #1 Online: 24 de Junho de 2007, 11:55 »
O problema douglasrauber é que as variáveis que nascem na execução do shell morrem junto com ele, então não adianta você executar o export depois. Experimente  colocar todo seu conteúdo no arquivo /etc/rc.local (a definição das variáveis e o export de cada uma delas.

Se você necessita destas variáveis depois de executar o login pode também incluí-las dentro do arquivo /etc/profile.
« Última modificação: 24 de Junho de 2007, 11:59 por clcampos »
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

Offline douglasrauber

  • Usuário Ubuntu
  • *
  • Mensagens: 7
    • Ver perfil
Re: Setar variáveis de ambiente na inicialização
« Resposta #2 Online: 24 de Junho de 2007, 16:07 »
Olá!

Experimentei as duas formas, porem, nenhuma foi eficaz!


/etc/rc.local

Código: [Selecionar]
!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "exit 0" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.


##Sybase Sql Anywhere 7.0 exports
CLASSPATH="/opt/sybase/asa7/java/jlogon.jar:/opt/sybase/shared/jConnect-5_2/classes/jconn2.jar:$CLASSPATH"
export CLASSPATH

PATH="/opt/sybase/shared/sybcentral40/java:$PATH"
export PATH

PATH="/opt/sybase/asa7/bin:$PATH"
export PATH

LD_LIBRARY_PATH="/opt/sybase/asa7/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH

ASANY="/opt/sybase/asa7"
export ASANY
## End Sybase Sql Anywhere 7.0 exports


exit 0

/etc/profile

Código: [Selecionar]
# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))
# and Bourne compatible shells (bash(1), ksh(1), ash(1), ...).

if [ "$PS1" ]; then
  if [ "$BASH" ]; then
    PS1='\u@\h:\w\$ '
    if [ -f /etc/bash.bashrc ]; then
. /etc/bash.bashrc
    fi
  else
    if [ "`id -u`" -eq 0 ]; then
      PS1='# '
    else
      PS1='$ '
    fi
  fi
fi



##Sybase Sql Anywhere 7.0 exports
CLASSPATH="/opt/sybase/asa7/java/jlogon.jar:/opt/sybase/shared/jConnect-5_2/classes/jconn2.jar:$CLASSPATH"
export CLASSPATH

PATH="/opt/sybase/shared/sybcentral40/java:$PATH"
export PATH

PATH="/opt/sybase/asa7/bin:$PATH"
export PATH

LD_LIBRARY_PATH="/opt/sybase/asa7/lib:$LD_LIBRARY_PATH"
export LD_LIBRARY_PATH

ASANY="/opt/sybase/asa7"
export ASANY
## End Sybase Sql Anywhere 7.0 exports


umask 022


Alguma outra sugestão ?

Obrigado.

Douglas