Minhas variáveis são
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Como salvar essas variáveis permanentemente?
Minhas variáveis são
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Como salvar essas variáveis permanentemente?
Respostas:
Você pode adicioná-lo ao arquivo .profile
ou ao arquivo de perfil do shell de login (localizado no diretório inicial).
Para alterar a variável ambiental "permanentemente", é necessário considerar pelo menos estas situações:
/etc/profile
, ~/.bash_profile
, ~/.bash_login
, ~/.profile
na ordem~/.bashrc
$BASH_ENV
$EDITOR ~/.profile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.zprofile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.profile
#add lines at the bottom of the file:
export LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
$EDITOR ~/.profile
#add lines at the bottom of the file:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib
ORACLE_HOME=/usr/lib/oracle/11.2/client64
export LD_LIBRARY_PATH ORACLE_HOME
$EDITOR ~/.login
#add lines at the bottom of the file:
setenv LD_LIBRARY_PATH /usr/lib/oracle/11.2/client64/lib
setenv ORACLE_HOME /usr/lib/oracle/11.2/client64
Se você quiser torná-lo permanente para todos os usuários, poderá editar os arquivos correspondentes em /etc/
, por exemplo , /etc/profile
para shells semelhantes a Bourne, /etc/csh.login
para (t) csh e /etc/zsh/zprofile
e /etc/zsh/zshrc
para zsh.
Outra opção é usar /etc/environment
, que nos sistemas Linux é lida pelo módulo PAM pam_env
e suporta apenas atribuições simples, não expansões no estilo de shell. (Veja o guia do Debian sobre isso.)
É provável que esses arquivos já contenham algumas atribuições; portanto, siga a sintaxe que você já vê presente no seu arquivo.
Certifique-se de reiniciar o shell e conectar novamente o usuário, para aplicar as alterações.
Se você precisar adicionar uma variável de ambiente para todo o sistema, agora existe uma /etc/profile.d
pasta que contém o script sh para inicializar a variável.
Você pode colocar seu script sh com todas as variáveis exportadas aqui.
Tenha cuidado, embora isso não deva ser usado como uma maneira padrão de adicionar variáveis ao env no Debian.
.profile
dentro, /etc/
mas eu não como definir as variáveis neste, .profile
por favor me diga
.profile
está no seu diretório pessoal não/etc/
[Admin@localhost etc]$ cat ~/.profile cat: /home/Admin/.profile: No such file or directory [Admin@localhost etc]$
:wq
é o comando para gravar o arquivo e saia em vi não se esqueça de digitar esc
antes
crontab
scripts. Nenhum desses locais será procurado quando um crontab
script estiver em execução.
Para fazer isso para todos os usuários / conchas, dependendo da distribuição que você possa usar /etc/environment
ou /etc/profile
. Criar um novo arquivo /etc/profile.d
pode ser preferível, se existir, pois será menos provável que entre em conflito com as atualizações feitas pelo sistema de empacotamento.
Em /etc/environment
, as variáveis são geralmente definidas com name=value
, por exemplo:
ORACLE_HOME=/usr/lib/oracle/11.2/client64
Em /etc/profile
, você deve usar, export
pois este é um script, por exemplo:
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
O mesmo vale para um arquivo /etc/profile.d
, também pode haver restrições de nomes que devem ser atendidas para que o arquivo funcione. No Debian, o arquivo deve ter a extensão .sh
(embora não precise de uma linha de reta ou permissões executáveis, pois é originário). verifique a documentação da sua distribuição ou consulte o /etc/profile
script para ver como esses arquivos são carregados.
Observe também que essa configuração LD_LIBRARY_PATH
permanentemente é potencialmente problemática , incluindo um risco à segurança. Como alternativa, eu sugeriria encontrar uma maneira de acrescentar LD_LIBRARY_PATH
o início da linha de comando para cada programa que precisa dele antes da execução. Por exemplo:
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib myprog
Uma maneira de fazer isso é usar um script de wrapper para executar o programa. Você pode atribuir a ele o mesmo nome que o seu programa e colocá-lo em /usr/local/bin
qualquer lugar que aparecer antes da localização do seu programa PATH
. Aqui está um exemplo de script (não esqueça chmod +x
do script):
#!/bin/sh
LD_LIBRARY_PATH=/usr/lib/oracle/11.2/client64/lib /real/location/of/myprog "$@"
environment
arquivo, o que faz com que eles sejam carregados? Por exemplo, depois de sair do editor vi (alterações escrito com sucesso), estou esperando para escrever echo $MY_NEW_VARIABLE
e vê-lo imprimir - EDIT: Eu vejo que eles estão lá se eu lançar um novo shell de comando
/etc/environment
, mesmo se eu reiniciei o terminal bash ou digitei source /etc/environment
. Portanto, se você estiver tendo problemas em que a variável de ambiente não está se perpetuando, tente reiniciar.
/etc/environment
não é um script, portanto não pode ser originado. Ele é carregado no momento do login (e em vários outros eventos do sistema) pelo PAM, para que você possa fazer logout / login ou executar uma nova sessão de login em um terminal, $ su <your username here>
para selecionar os novos valores nessa sessão isolada. Os valores desaparecerão assim que você sair, por isso provavelmente é menos propenso a erros fazer logoff / login totalmente completos.
Quando você instala o oracle, o oracle solicita que você execute alguns scripts antes de clicar em ok. Esse script colocou uma configuração fictícia no .bash_profile
diretório inicial do usuário in oracle. Para ver o arquivo, ls -al
mostrará todos os arquivos ocultos.
Digite nano bash_profile
para abrir o arquivo. Faça alterações no arquivo para refletir seu nome de host e o nome sid apropriado. verifique outras configurações que precisem de modificação. pressione o controle x para salvar e digite y quando for perguntado se deseja salvar. Pressione a tecla Enter para salvar. Reinicie o computador. Registrando como usuário Oracle. inicie o banco de dados digitando
sqlplus / as sysdba
startup
/usr/lib/oracle/11.2/client64/lib
um novo arquivo no/etc/ld.so.conf.d/
caminho. Então você não precisa definir LD_LIBRARY_PATH, veja também aqui .