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.
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.