Como faço para definir variáveis ​​de ambiente?

90

Estou tentando configurar o Apache Tomcat no meu pc e ele quer que eu configure uma variável de ambiente para CATALINA_HOME. Alguém sabe como fazer isso?

jumpnett
fonte

Respostas:

100

No bash, você pode definir variáveis ​​como esta:

export CATALINA_HOME=/opt/catalina

a maioria das outras conchas segue esta convenção, mas não todas. Você pode configurá-lo permanentemente ~/.profilepara o bash (e, como antes, outros shells têm outros locais)

Ressu
fonte
6
para as variáveis de toda a sessão, help.ubuntu.com recomenda ~/.profilecomo provavelmente o melhor arquivo para a colocação de atribuições de variáveis de ambiente em, uma vez que é executado automaticamente pelo DisplayManager durante a sessão de desktop processo de inicialização, bem como pelo shell de login quando um toras-in do console de texto.
McDowell
Atualizado a resposta. A razão pela qual eu usei o .bashrc foi que, em algum momento, o .profile não foi originado automaticamente. Mas se funcionar agora, é melhor usá-lo.
Ressu 5/08/10
6
Colocá-lo ~/.profilenão funciona para mim. Funciona ~/.bashrcembora.
jumpnett
Configurá-lo também ~/.bash_profilefunciona.
jumpnett
Há também um arquivo amplo do sistema em / etc. Isso funciona, mas é por usuário.
partir de
26

Variáveis ​​de ambiente já devem funcionar

Se você estiver usando o pacote tomcat6 nos repositórios Ubuntu, então o CATALINA_HOME e outras variáveis ​​de ambiente já estão definidas, no /etc/init.d/tomcat6script de inicialização.

Se você estiver instalando o tomcat fora do gerenciador de pacotes (esperamos que esteja em / opt ou em outro local fora do sistema de arquivos gerenciado), execute o TOMCAT/bin/startup.shdeve usar o local relativo para definir o CATALINA_HOME.

Definindo a variável de ambiente

Se, por algum motivo, você ainda precisar definir uma variável de ambiente, poderá abrir uma janela do terminal e digitar o comando:

export CATALINA_HOME=/path/to/the/root/folder/of/tomcat

Essa variável de ambiente agora funcionará nessa janela do terminal, mas se você abrir outra janela ou efetuar logout / login, perderá essa configuração.

Tornar a variável de ambiente permanente

Para tornar a configuração da variável de ambiente permanente, há vários locais em que você pode definir a configuração.

Para ter certeza de que a configuração está sendo selecionada, adicione a configuração acima a um dos scripts de inicialização do tomcat:

yourtomcatfolder/bin/startup.sh

yourtomcatfolder/bin/catalina.sh

Nota: startup.sh chama catalina.sh. Você deve adicionar a configuração no início de um desses arquivos (após qualquer comentário inicial)

A maneira padrão para variáveis ​​de ambiente global seria adicionar uma entrada /etc/environment(você não usa o comando export neste arquivo, pois não é um script bash normal)

CATALINA_HOME=/path/to/the/root/folder/of/tomcat

Não recomendado

Você pode definir as variáveis ​​de ambiente nos arquivos de configuração do bash (shell da linha de comando), mas eles não são recomendados, pois nem sempre são captados (por exemplo, se você estiver executando um servidor no qual não faz login para executar o tomcat): ~ / .bashrc | ~ / .profile | /etc.bash.bashrc | / etc / profile

jr0cket
fonte
5
Não deve ser o startupou catalinaroteiros, mas o setenv.shou setenv.batroteiro, criando-se necessário:. "Além de CATALINA_HOME e CATALINA_BASE, todas as variáveis de ambiente pode ser especificado no 'roteiro setenv' O script é colocado tanto em CATALINA_BASE / bin ou em CATALINA_HOME / bin e é nomeado setenv.bat (no Windows) ou setenv.sh (em * nix). O arquivo deve ser legível. " ( Executando o contêiner Servlet / JSP do Apache Tomcat 7.0 , Seção 3.4)
Olathe
22

Para definir variáveis ​​de ambiente permanentes nas versões mais recentes do Ubuntu (a partir de 14.04 e acima), adicione as variáveis ​​em /etc/environment. Para isso, siga as instruções abaixo,

Abra o terminal e execute

sudo -H gedit /etc/environment

forneça sua senha e, em seguida, no arquivo de texto solicitado

depois adicione as variáveis ​​como

ANT_HOME="/opt/ANT/"

A amostra /etc/environmenté dada abaixo

PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-8-oracle/"
AXIS2_HOME="/opt/axis2-1.7.4/"
ANT_HOME="/opt/apache-ant-1.9.7/"

não se esqueça de sair e fazer login novamente para ativar as variáveis ​​de ambiente.

Kasun Siyambalapitiya
fonte
6

O melhor lugar para isso depende de como e onde você instalou o Tomcat, quais aplicativos você deseja escolher nessa configuração e quão global você deseja que o escopo seja.

A documentação do Ubuntu sobre variáveis ​​de ambiente discute os prós e contras das várias opções.

McDowell
fonte
A que você se refere quando diz "melhor lugar para isso"?
jumpnett
@jumpnett - quero dizer onde tornar a configuração persistente para que ela esteja sempre disponível para os aplicativos, dependendo dela. A menos que você esteja feliz digitando a configuração todas as vezes ou queira escrever seu próprio script.
McDowell
3
nano ~/.bashrc

Provavelmente, provavelmente já conterá um pouco de dados. A maioria das definições aqui é para definir opções do bash, que não estão relacionadas a variáveis ​​ambientais. Você pode definir variáveis ​​de ambiente como faria na linha de comando:

export VARNAME=value

LIGAÇÃO

Eu testei no Ubuntu 16.04. Funciona bem.

Sunny127
fonte
1

Depois de passar pela documentação do Ubuntu sobre variáveis ​​de ambiente, criei a seguinte solução alternativa:

##Save & run the following in a shell script,

export ENVIRON_VAR_NAME = Value
# any other initializations like
export PATH=$PWD:$PATH
bash

A última linha cria um shell filho, que herda os valores da variável de ambiente do shell pai (que acabaram de ser definidos).

Ashish Sadhwani
fonte