2
ทำไมแหล่งเริ่มต้น ~ / .profile ของ Ubuntu ถึง / /bashrc
นี่คือเนื้อหาของหุ้น~/.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ลำพังและอ่านแบบนั้นโดยไม่คำนึงถึงชนิดของเชลล์ อย่างไรก็ตามนั่นเป็นประโยชน์ที่น่าสงสัยเนื่องจากมักจะมีประโยชน์ในการตั้งค่าที่แตกต่างกันสำหรับการเข้าสู่ระบบและสำหรับเชลล์แบบอินเทอร์แอคทีฟและสิ่งนี้จะบล็อกคุณจากการทำเช่นนั้น นอกจากนี้เปลือกล็อกอินมักจะไม่ทำงานในสภาพแวดล้อมแบบกราฟิกและอาจทำให้เกิดข้อผิดพลาดและคำเตือนและปัญหา (โอ้ฉัน!) ขึ้นอยู่กับสิ่งที่คุณตั้งไว้ในไฟล์เหล่านั้น เหตุใด …