जवाबों:
हां, अपने अंत में .bash_profile, लाइन लगाएं:
. ~/.bashrc
यह स्वचालित रूप से उन परिस्थितियों में आरसी फाइल का स्रोत है जहां यह सामान्य रूप से केवल प्रोफाइल को संसाधित करता है।
जब bashकुछ फ़ाइलों को चलाने के लिए नियम जटिल होते हैं, और कमांड लाइन तर्क और पर्यावरण चर के साथ शेल के प्रकार (लॉगिन / गैर-लॉगिन, इंटरेक्टिव या नहीं, और आगे) शुरू होने पर निर्भर करते हैं।
आप उन्हें man bashआउटपुट में देख सकते हैं , बस देख सकते हैं INVOCATION- आपको संभवतः इसे पचाने और इसे डिकोड करने के लिए कुछ समय चाहिए होगा :-)
.bashrc/.profile is not loaded on new tmux session (or window) — why?
रनिंग बैश ने स्पष्ट रूप से मेरे लिए काम किया, इस लाइन को मेरी ~ / .tmux.conf फ़ाइल में जोड़कर:
set-option -g default-command "exec /bin/bash"
~/.tmux.conf : set -g default-command "/bin/bash"। धन्यवाद दोस्त।
पूर्व के उत्तर ने समाधान प्रदान किए लेकिन इसका कारण नहीं बताया। यही पर है।
यह बैश इनिट फ़ाइलों से संबंधित है। डिफ़ॉल्ट रूप से, ~/.bashrcएक इंटरैक्टिव, गैर-लॉगिन शेल में उपयोग किया जाता है । यह एक लॉगिन शेल में उपलब्ध नहीं होगा। Tmux डिफ़ॉल्ट रूप से एक लॉगिन शेल का उपयोग करता है । इसलिए, tmux स्किप द्वारा शुरू किए गए गोले ~/.bashrc।
default-commandखोल कमानडिफ़ॉल्ट एक रिक्त स्ट्रिंग है, जो tmux को
default-shellविकल्प के मान का उपयोग करके एक लॉगिन शेल बनाने का निर्देश देता है ।
बैश के लिए Init फाइलें,
/etc/profile~/.bash_profile, ~/.bash_login, ~/.profile(केवल पहली एक है कि मौजूद है)/etc/bash.bashrc (कुछ लिनक्स, मैक ओएस एक्स पर नहीं)~/.bashrc$BASH_ENVअजीब इंटरैक्टिव, गैर-लॉगिन लोडिंग आवश्यकता लोगों को अन्य स्थितियों में भी भ्रमित करती है। सबसे अच्छा समाधान की लोडिंग आवश्यकता बदलने के लिए है ~/.bashrcके रूप में केवल इंटरैक्टिव है, जो वास्तव में कुछ distros, Ubuntu की तरह क्या, कर रहे हैं।
# write content below into ~/.profile, or ~/.bash_profile
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
यह आपकी इच्छा का समाधान होना चाहिए। और मैं प्रोफ़ाइल में प्रत्येक बैश उपयोगकर्ता सेटअप की सिफारिश करता हूं।
संदर्भ
man tmux$echo case $- in *i*) . ~/.bashrc;; esac >> .bash_profile
मेरे पास एक ही समस्या थी और अब तक के समाधान मेरे लिए कारगर नहीं थे। जो समाधान मेरे लिए काम कर रहा था वह यहां पाया जा सकता है ।
संक्षेप में, tmuxविंडोज़ / सत्र एक लॉगिन शेल का उपयोग करते हैं जो ~/.profileशुरू होने पर अन्य फ़ाइलों के बीच दिखता है।
जो मैं चाहता था कि प्रत्येक नई tmuxविंडो के साथ zsh शुरू हो, इसलिए मैंने अपने exec zshसबसे निचले भाग पर रखा ~/.profile।