Come posso impostare le variabili di ambiente?


90

Sto provando a configurare Apache Tomcat sul mio PC, e mi vuole impostare una variabile d'ambiente per CATALINA_HOME. Qualcuno sa come farlo?

Risposte:


100

In bash puoi impostare variabili come questa:

export CATALINA_HOME=/opt/catalina

la maggior parte delle altre shell segue questa convenzione, ma non tutte. Puoi impostarlo permanentemente ~/.profileper bash (e come in precedenza, altre shell hanno altre posizioni)


6
per le variabili a livello di sessione, help.ubuntu.com consiglia ~/.profilecome probabilmente il file migliore per l'inserimento delle assegnazioni delle variabili di ambiente, poiché viene eseguito automaticamente da DisplayManager durante la sessione desktop del processo di avvio e dalla shell di accesso quando si accede dalla console testuale.
McDowell,

Aggiornato la risposta. Il motivo per cui ho usato .bashrc invece è che a un certo punto .profile non è stato fornito automaticamente. Ma se funziona ora, è meglio usarlo.
Ressu,

6
L'impostazione in ~/.profilenon funziona per me. Funziona ~/.bashrccomunque.
jumpnett,

L'impostazione ~/.bash_profilefunziona anche.
jumpnett,

C'è anche un file di sistema in / etc. Funziona ma è per utente.
wheredidthatnamecomeda

26

Le variabili d'ambiente dovrebbero già funzionare

Se si utilizza il pacchetto tomcat6 dai repository Ubuntu, nello /etc/init.d/tomcat6script di avvio sono già impostati CATALINA_HOME e altre variabili di ambiente .

Se stai installando tomcat al di fuori del gestore dei pacchetti (si spera in / opt o da qualche altra parte al di fuori del file system gestito), quindi eseguendo il file TOMCAT/bin/startup.shdovrebbe utilizzare la posizione relativa per definire CATALINA_HOME.

Impostazione della variabile d'ambiente

Se per qualche motivo hai ancora bisogno di impostare una variabile d'ambiente puoi aprire una finestra terminale e digitare il comando:

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

Questa variabile d'ambiente ora funzionerà all'interno di quella finestra del terminale, ma se apri un'altra finestra o esci / accedi perdi quell'impostazione.

Rendi permanente la variabile d'ambiente

Per rendere permanente l'impostazione della variabile di ambiente, esistono diverse posizioni in cui è possibile definire l'impostazione.

Per essere veramente sicuri che l'impostazione sia stata presa, aggiungi l'impostazione sopra a uno degli script di avvio per tomcat:

yourtomcatfolder/bin/startup.sh

yourtomcatfolder/bin/catalina.sh

Nota: startup.sh chiama catalina.sh. È necessario aggiungere l'impostazione all'inizio di uno di questi file (dopo eventuali commenti iniziali)

Il modo standard per le variabili di ambiente globali sarebbe quello di aggiungere una voce /etc/environment(non si utilizza il comando export in questo file in quanto non è un normale script bash)

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

Non consigliato

È possibile impostare le variabili di ambiente nei file di configurazione bash (shell della riga di comando), ma questi non sono consigliati in quanto non vengono sempre raccolti (ad es. Se si esegue un server a cui non si accede per eseguire tomcat): ~ / .bashrc | ~ / .profile | /etc.bash.bashrc | / Etc / profile


5
Non dovrebbe essere lo script startupo catalina, ma lo script setenv.sho setenv.bat, creandolo se necessario: "A parte CATALINA_HOME e CATALINA_BASE, tutte le variabili di ambiente possono essere specificate nello script" setenv ". Lo script viene inserito in CATALINA_BASE / bin o in CATALINA_HOME / bin e si chiama setenv.bat (su Windows) o setenv.sh (su * nix). Il file deve essere leggibile. " ( Esecuzione di Apache Tomcat 7.0 Servlet / JSP Container , Sezione 3.4)
Olathe,

22

Per impostare variabili di ambiente permanenti nelle ultime versioni di Ubuntu (dalla 14.04 in poi) aggiungere le variabili a /etc/environment. Per questo segui le seguenti istruzioni,

Apri il terminale ed esegui

sudo -H gedit /etc/environment

fornire la password, quindi nel file di testo richiesto

quindi aggiungere le variabili come

ANT_HOME="/opt/ANT/"

Di /etc/environmentseguito è riportato un esempio di

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/"

non dimenticare di disconnettersi e accedere nuovamente per abilitare le variabili di ambiente.


6

Il posto migliore per questo dipende da come e dove hai installato Tomcat, quali applicazioni vuoi selezionare questa impostazione e quanto globale vuoi che sia l'ambito.

La documentazione di Ubuntu sulle variabili di ambiente discute i pro e i contro delle varie opzioni.


A cosa ti riferisci quando dici "il posto migliore per questo"?
jumpnett,

@jumpnett: intendo dove rendere persistente l'impostazione in modo che sia sempre disponibile per le applicazioni a seconda di essa. A meno che tu non sia felice di digitare l'impostazione ogni volta o di voler scrivere il tuo script.
McDowell il

3
nano ~/.bashrc

Molto probabilmente conterrà già un bel po 'di dati. La maggior parte delle definizioni qui sono per l'impostazione delle opzioni bash, che non sono correlate alle variabili ambientali. Puoi impostare le variabili ambientali proprio come faresti dalla riga di comando:

export VARNAME=value

LINK

L'ho provato su Ubuntu 16.04. Funziona alla grande.


1

Dopo aver esaminato la documentazione di Ubuntu sulle variabili di ambiente, ho trovato la seguente soluzione alternativa:

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

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

L'ultima riga crea una shell figlio, che eredita i valori delle variabili d'ambiente dalla shell padre (che è stata appena impostata).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.