Sous Linux, j'irais:
setenv -p MYVAR "somevalue"
Mais cela ne semble pas fonctionner avec cygwin.
Par défaut, Cygwin exécute Bourne Shell ou Bash , donc la commande pour définir une variable est différente. Voici le code dont vous avez besoin:
export MYVAR="somevalue"
La partie export
indique au shell qu'il s'agit d'une variable d'environnement au lieu d'une variable locale.
Si vous tapez ls -a
dans votre répertoire personnel, vous devriez voir tout ou partie des fichiers suivants:
.bashrc
.bash_profile
.profile
.bash_profile
est exécuté pour les shells de connexion et .bashrc
est exécuté pour les shells interactifs sans connexion. Pour vous assurer le plus simplement que votre variable d'environnement est toujours définie, ouvrez .bash_profile
et ajoutez le texte:
export MYVAR="somevalue"
Votre Shell puis exécutez .bash_profile
à chaque démarrage et il exécutera cette commande. Vous aurez alors la variable MYVAR
accessible tout le temps. Si vous n'aviez pas export
la variable, elle ne serait accessible que dans votre .bash_profile
fichier.
Vous pouvez vérifier que cette variable est définie en imprimant sa valeur sur votre Shell:
echo $MYVAR
Vous pouvez supprimer (désactiver) la variable avec:
unset $MYVAR
En passant, concernant .bashrc
contre .bash_profile
contre. .profile
, voir ces réponses:
Pour simplifier la configuration, je vous recommande de vous procurer votre .bashrc
fichier de .bash_profile
. Ajoutez ceci à .bash_profile
:
if [ -f ${HOME}/.bashrc ]; then
source ${HOME}/.bashrc
fi
Cela chargera .bashrc
de .bash_profile
.
Si vous faites cela, vous pouvez à la place mettre la ligne suivante dans .bashrc
, si vous le souhaitez:
export MYVAR="somevalue"
La meilleure façon de configurer les variables d'environnement dans cygwin est de créer un profil bash et d'exécuter ce profil chaque fois que vous vous connectez et exécutez le shell.
Dans mon fichier .bash_profile, voici le paramètre que j'ai
Java_HOME = C:/Program Files/Java/jdk1.7.0_51
export Java_HOME
export PATH=$PATH:$Java_HOME/bin
Une fois que vous exécutez bash, consultez echo $ Java_HOME et vous devriez voir le chemin en sortie.