ฉันมีหลายโครงการที่ต้องการให้ฉันเปลี่ยนรุ่น 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
. คำตอบด้านล่างควรได้รับการพิจารณาสำหรับหอยเหล่านี้