J'ai plusieurs projets qui me demandent de changer de version de Java / Grails / Maven. J'essaie de gérer cela avec des scripts qui apporteraient les modifications. Par exemple:
#!/bin/sh
export JAVA_HOME=/cygdrive/c/dev/Java/jdk1.5.0_22
export PATH=$JAVA_HOME/bin:$PATH
export GRAILS_HOME=/cygdrive/c/dev/grails-1.0.3
export PATH=$GRAILS_HOME/bin:$PATH
export MAVEN_HOME=/cygdrive/c/dev/apache-maven-2.0.11
export PATH=$MAVEN_HOME/bin:$PATH
which java
which grails
which mvn
Lorsque cela s'exécute, il modifie avec succès le CHEMIN dans le contexte du script, mais le script se termine et aucune modification n'a été effectuée.
Comment puis-je exécuter un script de manière à changer le CHEMIN pour le shell dans lequel je travaille actuellement?
J'utilise Cygwin.
la source
source
ne fonctionne que pourbash
. Sortie pourksh
:/bin/ksh: source: not found
poursh
:sh: 0: source: not found
. La réponse ci-dessous doit être considérée pour ces obus.bash
centrée.Vous pouvez le faire en utilisant le code source intégré:
Certains shells fournissent un alias nommé source :
la source
installé Chocolatey @ unix, vous pouvez simplement exécuter RefreshEnv pour obtenir des variables d'environnement mises à jour dans votre session actuelle
détail
la source