2010-06-14 13 views

Respuesta

6

Depende del armazón. En bash, puede utilizar:

export myvar=xyz 

que establecerá la variable y ponerlo a disposición de otros programas.

Si desea establecer para una invocación de un programa, puede utilizar:

myvar=xyz ./myprog 

Esto tendrá reposar durante el proceso myprog pero no después de que salga.

1

Consulte las funciones setenv (3) y getenv (3).

12

Puede ver qué shell está ejecutando ps -o comm= -p $$ - Creo que es más o menos universal. Así, en bash y ciertos proyectiles similares ...

Si desea crear la variable para una carrera específica, puede hacer

MYVAR=value the_command_that_needs_myvar 

Si desea crear para una sesión de toda la cáscara (es decir, ., hasta que finalice la sesión):

export MYVAR=value 

... y luego se puede ejecutar:

the_command_that_needs_myvar 

... tantas veces como yo le gusta durante esa sesión, y todavía verá MYVAR como teniendo el valor value.

Si desea que se establezca para usted, para todas sus sesiones de inicio de sesión, póngalo en ~/.profile.

Tenga en cuenta que los archivos de inicialización de bash pueden ser una gran gran WTF. Dependiendo de si se ejecuta de forma interactiva, a través de una red, localmente Y, dependiendo de si se invoca como sh o bash, leerá selectivamente alguna combinación de ~/.bashrc, ~/.profile y ~/.bash_profile. Lea la sección ARCHIVOS de la página del manual bash para más detalles.

Si desea que se configure para cada usuario, cada vez que inicie sesión, colóquelo en el archivo /etc/profile (aunque también hay /etc/environment, no estoy seguro de su uso).

Consulte la pregunta "How to set environment variable for everyone under my linux system?" para obtener más detalles, también.

(cuidado, algunos de estos consejos pueden variar dependiendo de si, o por otros usuarios, utiliza bash, tablero, csh, ksh, etc ... pero debería funcionar para la mayoría de los casos de uso.)

+0

De hecho, resolviendo si usar/etc/environment,/etc/profile, ~/.profile, ~/.kshrc, ~/.cshrc, ~/.bash_profile, ~/.bash_login, ~/.bashrc y todo el otras posibilidades es _no_ para los débiles de corazón :-) – paxdiablo

+0

Me hace pensar en [El Manual de Hater de UNIX] (http://www.art.net/~hopkins/Don/unix-haters/handbook.html) - ciertamente restos de WTFery de los malos viejos tiempos. Agregué un poco sobre los archivos de configuración 'bash' personales. – detly

Cuestiones relacionadas