นี่คือเนื้อหาของหุ้น~/.profile
ที่มาพร้อมกับ 13.10 ของฉัน (ลบบรรทัดที่มีความคิดเห็น):
if [ -n "$BASH_VERSION" ]; then
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
สิ่งนี้สืบทอดมาจาก Debian แต่ทำไม Canonical จึงตัดสินใจเก็บไว้ เท่าที่ฉันรู้มันไม่ใช่วิธีมาตรฐาน * และฉันได้เห็นระบบต่าง ๆ ที่สิ่งนี้ไม่ได้เกิดขึ้นดังนั้นฉันคิดว่าพวกเขาต้องมีเหตุผลที่ดี สิ่งนี้อาจทำให้เกิดพฤติกรรมที่ไม่คาดคิดเมื่อใช้งานเชลล์ล็อกอิน (เช่นเมื่อ sshing เข้าสู่เครื่องเป็นต้น) ซึ่งผู้ใช้ไม่คาดว่าจะได้รับ~/.bashrc
แหล่งที่มา
ประโยชน์อย่างเดียวที่ฉันคิดได้คือไม่สับสนผู้ใช้กับไฟล์เริ่มต้นจำนวนมากและอนุญาตให้แก้ไขโดย.bashrc
ลำพังและอ่านแบบนั้นโดยไม่คำนึงถึงชนิดของเชลล์ อย่างไรก็ตามนั่นเป็นประโยชน์ที่น่าสงสัยเนื่องจากมักจะมีประโยชน์ในการตั้งค่าที่แตกต่างกันสำหรับการเข้าสู่ระบบและสำหรับเชลล์แบบอินเทอร์แอคทีฟและสิ่งนี้จะบล็อกคุณจากการทำเช่นนั้น นอกจากนี้เปลือกล็อกอินมักจะไม่ทำงานในสภาพแวดล้อมแบบกราฟิกและอาจทำให้เกิดข้อผิดพลาดและคำเตือนและปัญหา (โอ้ฉัน!) ขึ้นอยู่กับสิ่งที่คุณตั้งไว้ในไฟล์เหล่านั้น
เหตุใด Ubuntu จึงทำเช่นนี้ฉันจะทำยังไง
.profile
แหล่งที่มา.bashrc
ซึ่งไม่ได้เกิดขึ้นในทุกรุ่นของ Linux และฉันสงสัยว่าอะไรคือเหตุผลเบื้องหลัง
-n "$BASH_VERSION"
เป็นจริงนอกทุบตี?