Salut,

Envoyé par
LinoaHeart
J'ai du ne laisser que "env" dans la commande, faute de quoi, ça donne une exception "env | grep STATUS1 NOT FOUND".
C'est normal puisque exec() lance un programme avec ses arguments, mais ne permet pas d'interpréter une ligne de commande comme le ferait un shell...
Pour plus d'info voir le tutoriel sur Runtime et ce billet sur mon blog : http://blog.developpez.com/index.php...&c=1&tb=1&pb=1

Envoyé par
LinoaHeart
Du coup, je suis obligée de parcourir toutes les lignes de "env" :
Je pense que tu dois pouvoir passer le nom de la variable directement en paramètre :
process = runtime.exec(new String[] { "env", "STATUS1" });
(et attention à bien fermer les flux que tu n'utilises pas)

Envoyé par
LinoaHeart
Les export de mon scripts ksh ont l'air invisibles pour le java...
C'est tout à fait normal : un programme hérite des variables d'environnements lors de sa création. Ensuite il utilise sa propre copie et les modifications effectuées sur le programme appelant (le shell-script) ne peuvent pas être propagé...
C'est le fonctionnement des variables d'environnements sur tous les systèmes d'exploitations !
Si tu veux "communiquer" avec ton programme principal il faudra t'y prendre autrement
Partager