Question Comment définir les variables d'environnement?


J'essaie de configurer Apache Tomcat sur mon PC, et je souhaite configurer une variable d'environnement pour CATALINA_HOME. Est-ce que quelqu'un sait comment faire cela?


72
2017-08-03 16:31


origine




Réponses:


En bash, vous pouvez définir des variables comme ceci:

export CATALINA_HOME=/opt/catalina

la plupart des autres coquilles suivent cette convention, mais pas toutes. Vous pouvez le définir en permanence dans ~/.profile pour bash (et comme avant, d'autres shells ont d'autres emplacements)


73
2017-08-03 16:34



pour les variables à l'échelle de la session, help.ubuntu.com recommande ~/.profile comme probablement le meilleur fichier pour placer des affectations de variables d'environnement, car il est exécuté automatiquement par DisplayManager pendant la session de bureau du processus de démarrage, ainsi que par le shell de connexion, lorsque l'on se connecte depuis la console textuelle. - McDowell
Mise à jour de la réponse. La raison pour laquelle j'ai utilisé .bashrc était que, à un moment donné, .profile ne provenait pas automatiquement. Mais si cela fonctionne maintenant, mieux vaut l'utiliser. - Ressu
La mettre en ~/.profile ne fonctionne pas pour moi Ça marche dans ~/.bashrc bien que. - jumpnett
La mettre en ~/.bash_profile fonctionne aussi bien. - jumpnett
Il existe également un fichier système dans / etc. Cela fonctionne mais est par utilisateur. - wheredidthatnamecomefrom


Les variables d'environnement devraient déjà fonctionner

Si vous utilisez le package tomcat6 à partir des référentiels Ubuntu, les variables d'environnement CATALINA_HOME et autres sont déjà définies dans le /etc/init.d/tomcat6 script de démarrage.

Si vous installez tomcat en dehors du gestionnaire de paquets (si tout va bien dans / opt ou ailleurs en dehors du système de fichiers géré), alors exécutez le TOMCAT/bin/startup.sh devrait utiliser l'emplacement relatif pour définir le CATALINA_HOME.

Définition de la variable d'environnement

Si pour une raison quelconque vous avez encore besoin de définir une variable d'environnement, vous pouvez ouvrir une fenêtre de terminal et taper la commande:

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

Cette variable d'environnement fonctionnera désormais dans cette fenêtre de terminal, mais si vous ouvrez une autre fenêtre ou que vous vous déconnectez / vous connectez, vous perdez ce paramètre.

Rendre la variable d'environnement permanente

Pour que la variable d'environnement définisse un paramètre permanent, vous pouvez définir plusieurs paramètres à plusieurs endroits.

Pour être certain que le paramètre est sélectionné, ajoutez le paramètre ci-dessus à l'un des scripts de démarrage de tomcat:

yourtomcatfolder/bin/startup.sh

yourtomcatfolder/bin/catalina.sh

Note: startup.sh appelle le catalina.sh. Vous devez ajouter le paramètre au début de l'un de ces fichiers (après tout commentaire initial)

La méthode standard pour les variables d'environnement global serait d'ajouter une entrée dans /etc/environment (vous n'utilisez pas la commande export dans ce fichier car ce n'est pas un script bash normal)

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

Non recommandé

Vous pouvez définir les variables d'environnement dans les fichiers de configuration bash (shell de ligne de commande), mais ils ne sont pas recommandés car ils ne sont pas toujours captés (par exemple, si vous utilisez un serveur auquel vous ne vous connectez pas): ~ / .bashrc | ~ / .profile | /etc.bash.bashrc | / etc / profile


24
2017-08-05 07:03



Ce ne devrait pas être le startup ou catalina scripts, mais le setenv.sh ou setenv.bat script, en le créant si nécessaire: "En dehors de CATALINA_HOME et CATALINA_BASE, toutes les variables d'environnement peuvent être spécifiées dans le script" setenv ". Le script est placé dans CATALINA_BASE / bin ou dans le répertoire CATALINA_HOME / bin et s'appelle setenv.bat (on Windows) ou setenv.sh (sur * nix). Le fichier doit être lisible. " (Exécution du conteneur Servlet / JSP Apache Tomcat 7.0, Section 3.4) - Olathe


Pour définir des variables d'environnement permanentes dans les dernières versions d'Ubuntu (à partir de 14.04) ajouter les variables à /etc/environment. Pour cela suivez les instructions ci-dessous,

Ouvrez le terminal et lancez

sudo -H gedit /etc/environment

le fournir votre mot de passe, puis dans le fichier texte invité

puis ajoutez les variables comme

ANT_HOME="/opt/ANT/"

Échantillon du /etc/environment est donné ci-dessous

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

10
2017-11-16 05:11





Le meilleur endroit pour cela dépend de la manière et de l'endroit où vous avez installé Tomcat, des applications que vous souhaitez utiliser pour définir ce paramètre et de la dimension globale que vous souhaitez avoir.

le Documentation Ubuntu sur les variables d'environnement discute des avantages et des inconvénients des différentes options.


6
2017-08-03 22:17



De quoi parlez-vous quand vous dites "meilleur endroit pour ça"? - jumpnett
@ jumpnett - Je veux dire où rendre le paramètre persistant afin qu'il soit toujours disponible pour les applications en fonction de cela. Sauf si vous êtes heureux de taper le paramètre à chaque fois ou que vous souhaitez écrire votre propre script. - McDowell


nano ~/.bashrc

Cela contiendra probablement beaucoup de données déjà. La plupart des définitions sont ici pour définir les options de bash, qui ne sont pas liées aux variables environnementales. Vous pouvez définir des variables d'environnement comme vous le feriez depuis la ligne de commande:

export VARNAME=value

LIEN

Je l'ai testé sur Ubuntu 16.04. Fonctionne très bien.


2
2018-01-03 11:00





Après avoir parcouru la documentation Ubuntu sur les variables d'environnement, j'ai trouvé la solution suivante:

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

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

La dernière ligne crée un shell enfant, qui hérite des valeurs de la variable d'environnement du shell parent (qui viennent d'être définies).


1
2018-02-19 01:53