ฉันใช้zshเป็นเปลือกของฉันและฉันพยายามกำหนดค่าสภาพแวดล้อมของฉัน
ฉันมักจะกำหนด$JAVA_HOMEตัวแปรของฉันโดยการสร้างไฟล์:
/etc/profile.d/java.sh
ด้วยเนื้อหาดังต่อไปนี้
export JAVA_HOME=/path/to/jdk
export PATH=$JAVA_HOME/bin:$PATH
จากนั้นฉันออกจากระบบและกลับมาและมันใช้งานได้ แต่ด้วยเหตุผลบางอย่างPATHตัวแปรไม่ได้ถูกตั้งค่า มันรู้จักJAVA_HOMEแต่ไม่ใหม่PATHดูตัวอย่างข้อมูลเทอร์มินัล:
~ echo $JAVA_HOME
/usr/lib/jvm/jdk1.8.0_05
~ echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
และฉันยืนยันโดยพยายามรันคำสั่งในรูปแบบ jvm
~ java -version
zsh: command not found: java
PATHไม่รวม$JAVA_HOMEเท่าที่ควร มีอะไรอีกบ้างที่ฉันควรตรวจสอบ?
ฉันได้ตรวจสอบแล้วว่าถ้าฉันทำงาน:
source /etc/profile.d/java.sh
ทุกอย่างทำงานอย่างถูกต้องและตัวแปรของฉันได้รับการตั้งค่าตามที่ควร แต่สคริปต์ไม่ควร/etc/profile.dทำงานโดยอัตโนมัติหรือไม่
~/.profileและวางตัวแปรที่นั่นแทนหรือไม่? มันอาจเป็นไปได้ว่าPATHจะถูกเขียนทับอื่น ๆ/etc/profile.d/ใน