Ich habe mehrere Projekte, bei denen ich die Versionen von Java / Grails / Maven ändern muss. Ich versuche, dies mit einigen Skripten zu behandeln, die die Änderungen vornehmen würden. Beispielsweise:
#!/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
Wenn dies ausgeführt wird, wird der Pfad im Kontext des Skripts erfolgreich geändert, das Skript wird jedoch beendet, und es wurden keine Änderungen vorgenommen.
Wie kann ich ein Skript ausführen, um den Pfad für die Shell zu ändern, in der ich gerade arbeite?
Ich benutze Cygwin.
quelle
source
das nur für funktioniertbash
. Ausgang fürksh
:/bin/ksh: source: not found
fürsh
:sh: 0: source: not found
. Die Antwort unten sollte für diese Muscheln berücksichtigt werden.bash
zentriert.Sie könnten das tun, indem Sie die eingebaute Quelle verwenden:
Einige Shells bieten einen Alias namens source :
quelle
Wenn Sie Chocolatey @ unix installiert haben, können Sie RefreshEnv ausführen, um aktualisierte Umgebungsvariablen in Ihre aktuelle Sitzung zu übernehmen
Detail
quelle