ฉันใช้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/
ใน