मैक ग्नू-स्क्रीन डिफ़ॉल्ट .bash_profile को लोड नहीं करता है


15

मेरे bash_profile में कस्टम सेटिंग्स का एक गुच्छा है। जब मैं गन्न-स्क्रीन का उपयोग करता हूं, तो मुझे एहसास हुआ कि मेरी स्क्रीन निष्पादित नहीं करती हैं source /Users/disappearedng/.bash_profile। मैं अपने .screenrc फ़ाइल में source /Users/disappearedng/.bash_profile डालने की कोशिश करता हूं, लेकिन फिर यह शिकायत करता है कि उपनाम कोई कमांड नहीं है ... (मुझे लगता है कि screenrc को स्क्रीन आर्क विशिष्ट कमांड की आवश्यकता है)।

मैंने अपने .bash_profile को .profile या .bash_rc में बदलने का प्रयास किया है। उस काम में से कोई नहीं।

कोई मदद?

जवाबों:


17

.Bash_profile फ़ाइल (और। फ़ाइल के रूप में अच्छी तरह से) लॉगिन गोले के लिए भरी हुई है, गैर-लॉगिन गोले का उपयोग करते हैं .bashrc (कोई _ प्रतीक)। इनस्क्रीन स्क्रीन पर एक लाइन होती है जो स्क्रीन को बताती है कि स्क्रीन विंडो को शुरू करने के दौरान शेल को क्या खोलना है (जब विंडो एप्लिकेशन के रूप में किसी विशिष्ट प्रोग्राम को लॉन्च नहीं किया जाता है)। मेरी स्क्रीनस्क्रीन फ़ाइल में, यह इस तरह है (टिप्पणियों के साथ ही):

# shell:  Default process started in screen's windows.
# Makes it possible to use a different shell inside screen
# than is set as the default login shell.
# If begins with a '-' character, the shell will be started as a login shell.
  shell -$SHELL

अपनी .rcrc फ़ाइल की जाँच करें और सत्यापित करें कि शेल लाइन के सामने डैश है। उस डैश प्रतीक के होने और एक लॉगिन शेल को मजबूर करने से, आपको अपने .bash_profile स्रोत मिल जाएंगे। मेरे .screenrc में $ SHELL चर शेल मूल्य का उपयोग कर रहा है जो कि स्क्रीन को लॉन्च करने वाले शेल द्वारा प्रदान किया जाता है (आमतौर पर मेरे लिए यह बैश है)।

यदि आप सोच रहे हैं, तो जो सबसे बड़ा अंतर मुझे लॉगिन बनाम गैर-लॉगिन शेल के बीच पता चलता है, वह यह है कि एक गैर-लॉगिन शेल सामान्य रूप से स्क्रिप्ट निष्पादित करने के लिए क्या है।


आह धन्यवाद! इसके अलावा, वहाँ एक रास्ता है आसानी से अपने आप को पता है कि यह वर्तमान खिड़की ग्नू स्क्रीन के अंदर है?
गायब

.rcrc फ़ाइल में हार्डस्टैट विकल्प का उपयोग यह सुनिश्चित करने में सहायता के लिए किया जा सकता है कि आप यह पहचान सकें कि आप स्क्रीन में हैं (कुछ अन्य निफ्टी सेटिंग्स के साथ भी जो मुझे समझ में आ रहा है)। स्क्रीन मैन पेज में इसे कॉन्फ़िगर करने के तरीके के बारे में विवरण होना चाहिए (जो मेरे सिर के ऊपर से नहीं जानते हैं)।
मैट्रिक्स मोल

3

सोर्सिंग .bash_profileवास्तव में कुछ अलग है कि मैक टर्मिनल ऐप ऐसा करता है जो अधिकांश टर्मिनल ऐप नहीं करते हैं। ~/.bashrcहालाँकि, स्क्रीन तब भी पढ़ती है , जब आप एक नया शेल खोलते हैं।

आप का नाम बदलते हैं आपके ~/.bash_profileलिए ~/.bashrc(बैश और आर सी के बीच कोई अंडरस्कोर के साथ, अपने प्रश्न के रूप में), तो यह sourced किया जाएगा।

हालाँकि, मेरी पसंदीदा रणनीति मेरी सभी सेटिंग्स को अंदर रखना है bashrc, और फिर इसे bash_profileइस तरह से स्रोत बनाना है :

[ -f .bashrc ] && . .bashrc

-1

आपको किसी भी विन्यास फाइल को बदलने की आवश्यकता नहीं है, यदि आप अपनी सभी सेटिंग्स लिखते हैं .bash_profile, जैसे आप सामान्य रूप से अपना टर्मिनल सेट करने के लिए करते हैं, और स्क्रीन सत्रों के .bashrcलिए आपकी ओर इशारा करते हुए एक लिंक बनाते हैं .bash_profile:

$ ln -s ~/.bash_profile ~/.bashrc

फ़ाइलों में से किसी एक में किए गए परिवर्तन संग्रहीत हैं, .bash_profileलेकिन इसके द्वारा भी सुलभ हैं .bashrc

एकमात्र दोष यह है कि आप किसी एक विन्यास फाइल में सेटिंग्स नहीं जोड़ सकते।


क्या आप इस उत्तर पर थोड़ा विस्तार कर सकते हैं? आपने वास्तव में यह नहीं बताया कि यह समस्या का समाधान कैसे होगा।
bwDraco

-1

उपयोगकर्ता फ़ाइलों के मामले में निम्न पंक्ति जोड़कर लिनक्स लॉगिन गोले स्रोत गैर-लॉगिन वाले:

[[ -f ~/.bashrc ]] && . ~/.bashrc

यह समाधान पहले ही पोस्ट किया जा चुका है।
19 slhck

इसके अलावा, यह पीछे की ओर प्रतीत होता है।
जी-मैन का कहना है कि 'मोनिका'
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.