Java / Grails / Mavenのバージョンを変更する必要があるプロジェクトがいくつかあります。変更を行うスクリプトでこれを処理しようとしています。例えば:
#!/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
これが実行されると、スクリプトのコンテキスト内でPATHが正常に変更されますが、スクリプトは終了し、変更は行われません。
現在作業しているシェルのPATHを変更する方法でスクリプトを実行するにはどうすればよいですか?
Cygwinを使用しています。
source
だけのために働くことに気づいたbash
。の出力ksh
:/bin/ksh: source: not found
、sh
:sh: 0: source: not found
。これらのシェルについては、以下の答えを考慮する必要があります。