578 votes

Comment ajouter des variables d'environnement ?

Je suis sous Ubuntu 11.04. J'utilise le terminal pour démarrer une session bash, et je veux ajouter une variable d'environnement :

$r@hajt:~$ env THEVAR=/example

Mais ça ne marche pas. Il affiche toutes les variables, THEVAR étant la dernière, mais un autre appel à env ne montre pas THEVAR plus jamais- env | grep THEVAR ne renvoie rien.

De même, les scripts avec exportation ( export THEVAR=/example ) ou d'autres affectations de variables ( THEVAR=/example ) n'ajoute pas la variable d'environnement.

Je sais que je fais quelque chose de mal, je sais que ça devrait être quelque chose de simple, mais je n'arrive pas à trouver quoi.

UPDATE : Le vrai sens de ma question était celui-ci :

(De toute façon je choisirai la réponse la plus votée et laisserai le titre édité - ce n'était pas ce que je demandais)

env exécute un programme dans un environnement modifié, puis annule toutes les modifications.

1 votes

Lorsqu'il est défini/exporté dans .bashrc, il fonctionne correctement.

0 votes

2 votes

Et si THEVAR=/example ?

2voto

Shubham Goel Points 121

Si vous déployez une application JAVA à l'aide de TOMCAT, vous pouvez définir les variables d'environnement de la manière suivante :

1.sudo su et cd à /var/lib/tomcat8/bin/ (ou n'importe quel chemin de votre bin tomcat)

  1. touch setenv.sh (s'il n'existe pas), si le fichier existe déjà, faites 'vi setenv.sh'.

  2. chmod 777 setenv.sh (rendre le fichier exécutable)

  3. vi setenv.sh et mettez la ligne suivante dans setenv.sh export key=value

  4. sudo systemctl restart tomcat.service

Dans votre fichier java, vous pouvez utiliser le code suivant pour vérifier si la variable est définie

private static void printEnv() {
    System.out.println("******************************Environment Vars*****************************");
    Map<String, String> enviorntmentVars = System.getenv();
    enviorntmentVars.entrySet().forEach(System.out::println);

    System.out.println("******************************system Vars*****************************");
    Properties enviorntmentProperties = System.getProperties();
    enviorntmentVars.entrySet().forEach(System.out::println);
}

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X