Bonjour tout le monde,

je rencontre un probleme en ce moment pour recuperer une variable d'environnement sous unix.
J'utilise Java 1.4.2, la methode System.getEnv() est donc depreciated. Pas de probleme, me dis-je (:p) je refait une fonction perso pour recuperer les variables que j'ai besoin...

Voici donc le bout de code qui me le permet:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 public static void main(String[] args) throws IOException {
 
        String EnvValue=null;
        Process process = null;
        BufferedReader br = null;
 
        String CmdWin[] = {"cmd.exe", "/C", "echo %" + args[0] +"%"};
        String CmdUnix = "echo ${AOUTIL_CONFFILE}";
 
        if(OSType.equalsIgnoreCase("win")) process = Runtime.getRuntime().exec(CmdWin);
        else if(OSType.equalsIgnoreCase("unix")) process = Runtime.getRuntime().exec(CmdUnix);
 
        br = new BufferedReader( new InputStreamReader(process.getInputStream()));
        EnvValue = br.readLine();
 
        br.close();
        process.destroy();
 
        System.out.println(EnvValue);
    }
Sous windows tout marche nickel, je recupere la valeur de ma variable d'environnement dans EnvValue. Sous unix, c'est une autre histoire. Lorsque je lance la commande dans mon shell je recupere la bonne valeur, mais lorsque que je lance mon programme java pour executer la meme commande par l'intermediaire d'un
Code : Sélectionner tout - Visualiser dans une fenêtre à part
Runtime.getRuntime().exec("echo ${nom_variable});
, j'obtien l'affichage suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
sun26:/home/brunel/romain> java -jar test.jar
${AOUTIL_CONFFILE}
sun26:/home/brunel/romain>
en gros il m'affiche juste ce qui apparait apres le echo, c'est comme si il ne faisait pas le lien avec la variable d'environnement...

des idées??

merci d'avance

Cordialement