यह इस बात पर निर्भर करता है कि आप अपना शेल कैसे शुरू करते हैं। जैसा कि अन्य लोगों ने कहा है, एक लॉगिन शेल आपकी प्रोफाइल को लोड करेगा (यह पहले .bash_profile की तलाश करेगा, फिर कोशिश करेगा। प्रॉफाइल करेगा)। यदि यह इनमें से एक को पाता है, तो यह उन्हें लोड करता है। एक गैर-लॉगिन शेल (या तो इंटरैक्टिव या गैर-इंटरैक्टिव) स्रोत .bashrc होगा।
मैं सब कुछ .bashrc में डालने का सुझाव दूंगा। .Profile / .bashrc विभाजन मनमानी की तरह था और UNIX के पुराने दिनों में और अधिक समझ में आता था जब tty सिर्फ एक डिवाइस का नाम नहीं था और इसका मतलब एक वास्तविक टेली टाइप था। यह कुछ चीजों को शुरू करने के लिए था (जैसे मेल की जाँच करना) एक सर्वर के 'मुख्य' लॉगिन पर, और अन्य गोले के लिए सामान्य सेटअप सामान। अधिकांश लिनक्स में अब आप लॉग इन करेंगे, आप वास्तव में एक शेल में प्रवेश नहीं कर रहे हैं, जैसा कि आप कुछ ग्राफिकल इंटरफ़ेस (केडीई, सूक्ति, सीडीई 'कंपकंपी) में लॉग इन कर रहे हैं। "स्पॉन लॉगिन प्रक्रिया" का अब आपके सत्र प्रबंधक द्वारा ध्यान रखा जाता है। यह अब बहुत कम प्रासंगिक है।
मेरा सुझाव है: अपने .profile पूरी तरह से मिलकर बनाओ:
[ -f $HOME/.bashrc ] && . $HOME/.bashrc
.bashrc की पहली पंक्ति के रूप में, अजीब सामग्री के खिलाफ गार्ड जब जल्दी से कूद कर एक बैश स्क्रिप्ट चला रहा हो:
[[ $- != *i* ]] && return