Sono in grado di eseguire un comando Linux tramite la classe RunTime
. C'è un modo di impostare un ambiente globale Linux da Java in modo programmatico?Imposta la variabile di ambiente Linux a livello di codice in Java
voglio emulare la seguente dichiarazione di comando di Linux su Java
[email protected]:/tmp# export TEST=v2
ho usato ProcessBuilder come seguendo, ma variabile test non è cambiato.
ProcessBuilder pb = new ProcessBuilder("/bin/bash","-c","export TEST=v3" + "&& exec");
UPDATE: In realtà il mio obiettivo finale è quello di utilizzare EMAIL_NAME ambiente come un indirizzo di posta elettronica, quando entrambi la mia domanda e la macchina sono avviati e stopeed queste azioni saranno inviati a EMAIL_NAME. In questo caso capisco che non è possibile impostare l'ambiente globale di linux su puro codice Java. Quindi ho una soluzione alternativa: EMAIL_NAME sarà conservato in un file e verrà aggiornato o letto dallo script linux o dal codice java. variabili
Cosa intendi con comando 'Linux' qui? –
Se si utilizza un 'ProcessBuilder', è possibile avere una mappa mutabile dell'ambiente usando' .environment() 'e modificare quella mappa - prima di eseguire il comando, naturalmente. – fge
Risposte simili: http://stackoverflow.com/questions/580085/is-it-possible-to-set-an-environment-variable-at-runtime-from-java - sebbene l'uso di 'ProcessBuilder' imposterà solo l'ambiente per tutti i processi biforcati (i processi vengono eseguiti come invocati dal processo Java). – birryree