我有几个项目需要更改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,但随后脚本结束了,并且尚未完成任何更改。
如何运行脚本以更改当前正在使用的shell的PATH?
我正在使用Cygwin。
source
仅适用于bash
。输出为ksh
:/bin/ksh: source: not found
,为sh
:sh: 0: source: not found
。对于这些外壳,应考虑以下答案。