ปัญหา
ฉันมี Ubuntu 11.04 Virtual Machine และฉันต้องการตั้งค่าสภาพแวดล้อมการพัฒนา Java ของฉัน ฉันทำดังนี้
sudo apt-get install openjdk-6-jdk
เพิ่มรายการต่อไปนี้ใน~ / .bash_profile
export JAVA_HOME=/usr/lib/jvm/java-6-openjdk export PATH=$PATH:$JAVA_HOME/bin
บันทึกการเปลี่ยนแปลงและออก
เปิดเทอร์มินัลอีกครั้งและพิมพ์ดังต่อไปนี้
echo $JAVA_HOME (blank) echo $PATH (displayed, but not the JAVA_HOME value)
ไม่มีอะไรเกิดขึ้นเช่นถ้าการส่งออกของ JAVA_HOME และการเพิ่มไปยัง PATH นั้นไม่เคยทำ
วิธีการแก้
ฉันต้องไปที่~ / .bashrcและเพิ่มรายการต่อไปนี้ในตอนท้ายของไฟล์
#Source bash_profile to set JAVA_HOME and add it to the PATH because for some reason is not being picked up
. ~/.bash_profile
คำถาม
- ทำไมฉันต้องทำอย่างนั้น? ฉันคิดว่า bash_profile, bash_login หรือโพรไฟล์ในกรณีที่ไม่มีการดำเนินการสองอย่างนี้ก่อนดำเนินการก่อน bashrc
- ในกรณีนี้เทอร์มินัลของฉันเป็นเชลล์ที่ไม่ใช่การเข้าสู่ระบบหรือไม่
- ถ้าเป็นเช่นนั้นทำไมเมื่อทำ su หลังจากเทอร์มินัลและใส่รหัสผ่านมันไม่ได้ดำเนินการโปรไฟล์ที่ฉันได้ตั้งค่าการส่งออกดังกล่าวข้างต้น?