2011-06-22 22 views

Respuesta

22

De forma predeterminada, Cygwin ejecuta Bourne shell o Bash, por lo que el comando para establecer una variable es diferente. Este es el código que necesita:

export MYVAR="somevalue" 

La parte export permite la concha saben que es una variable de entorno en lugar de una variable local.

Si escribe ls -a en su directorio personal, debería ver algunos o todos de los siguientes archivos:

.bashrc 
.bash_profile 
.profile 

.bash_profile se ejecuta para shells de entrada, y .bashrc se ejecuta en los depósitos interactivo de no ingreso. Para la mayoría simplemente asegurar que la variable de entorno se establece siempre, abrir .bash_profile y añadir el texto:

export MYVAR="somevalue" 

Su concha con .bash_profile a continuación, ejecutar cada vez que se pone en marcha, y se ejecutará este comando. A continuación, tendrá la variable MYVAR accesible todo el tiempo. Si no seleccionó export la variable, solo sería accesible dentro de su archivo .bash_profile.

Puede comprobar que esta variable se define mediante la impresión de su valor a su shell:

echo $MYVAR 

Puede eliminar (sin establecer) la variable con:

unset $MYVAR 

palabras breves sobre los archivos de la cáscara de configuración

Como un aparte, con respecto a .bashrc vs .bash_profile contra .profile, ver estas respuestas:

Para simplificar la configuración, recomiendo abastecimiento de su archivo de .bashrc.bash_profile. Agregue esto a .bash_profile:

if [ -f ${HOME}/.bashrc ]; then 
    source ${HOME}/.bashrc 
fi 

Esto cargará .bashrc de .bash_profile.

Si lo hace, en su lugar puede poner la siguiente línea en .bashrc, si lo desea:

export MYVAR="somevalue" 
+0

¿MYVAR seguirá estando allí la próxima vez que inicie cygwin? – BeeBand

+1

@BeeBand Acabo de actualizar mi respuesta. Si escribe el comando solo en su caparazón, lo tendrá hasta que salga de su caparazón. Si lo coloca en un archivo de configuración, lo tendrá cada vez que use el shell. Si modifica su archivo de configuración y no reinicia su shell, puede escribir '~/.bashrc' para ejecutar el archivo de configuración sin reiniciar. – dbmikus

+1

@dbmikus - también puede agregar que puede acceder al valor de la variable de entorno de esta manera: '$ MYVAR'. Para ver el valor de la variable, escriba 'echo $ MYVAR'. – Steam

2

La mejor manera de establecer las variables de entorno en cygwin es crear un perfil de bash y ejecutar ese perfil cada vez que inicie sesión y ejecute el shell.

En mi.archivo .bash_profile, ésta es la configuración que tengo

JAVA_HOME = C:/Program Files/Java/jdk1.7.0_51 
export JAVA_HOME 
export PATH=$PATH:$JAVA_HOME/bin 

vez que se ejecuta bash, echa un vistazo a echo $ JAVA_HOME y usted debería ver la ruta como salida.

Cuestiones relacionadas