मैं अपनी कार्यशील निर्देशिका दिखाने के लिए अपने bash प्रॉम्प्ट को कैसे बदल सकता हूं?


33

मैं इस तरह से अपने वर्तमान काम कर सकते हैं

myPrompt$ pwd
/Users/me/myDir

मैं चाहता हूं कि मेरा खोल ऐसा दिखे

/Users/me/myDir$ pwd
/Users/me/myDir

क्या यह संभव है? मैं यह कैसे कर सकता हूं?


OS X पर फ़ाइल का नाम .bash_profile नहीं बस .profile है। जो आपके लिए ऑटोलॉड होगा।

काफी नहीं। OSX डिफ़ॉल्ट रूप से लॉगिन गोले शुरू करता है और इसका मतलब है कि बैश दिखता है ~/.bash_profile, ~/.bash_loginऔर ~/.profile, और उस क्रम में, और पहले से मौजूद कमांड को पढ़ता है और निष्पादित करता है और पढ़ने योग्य है। किसी भी मामले में, यह वास्तव में एक टिप्पणी है और जवाब नहीं है इसलिए मैं इसे एक में परिवर्तित कर रहा हूं।
terdon

जवाबों:


39

आप त्वरित चर में भागने के दृश्यों का उपयोग कर सकते हैं ।

इसे अपने में रखें ~/.bashrc:

PS1='\w\$ '

2
धन्यवाद। मैंने वह बदलाव किया। अब मैं देख रहा हूँ: अब्राम्स-मैकबुक-एयर -3: tmp अब्रामहैंडलर $ pwd; / उपयोगकर्ता / abramhandler / tmp अब्राम-मैकबुक-एयर -3: tmp abramhandler $ .... मैं केवल अपने प्रॉम्प्ट के लिए "tmp" कहने वाले भाग को दिखाना चाहता हूं। मैं बाकी कैसे छिपाऊं? मैं "अब्रामहैंडलर" और "अब्राम-मैकबुक-एयर -3" भागों को छुपाना चाहता हूं
bernie2436

7
@ akh2103 के \Wबजाय का उपयोग करें \w। लिंक देखें गिल्स ने आपको भागने के कोड की एक (संक्षिप्त) व्याख्या के लिए दिया।
terdon

@terdon मैं उसी चीज़ को \ W और \ w के साथ देखता हूँ। मैं OSX पर यूनिक्स चला रहा हूं।
bernie2436

2
@ akh2103 यदि आप OSX चला रहे हैं और टर्मिनल ऐप का उपयोग कर रहे हैं, तो आपको ~ / .profile not .bashrc में परिवर्तन करना चाहिए क्योंकि टर्मिनल डिफ़ॉल्ट रूप से लॉगिन शेल चलाता है। आपको परिवर्तन करने के लिए स्रोत / / .profile या एक नया टर्मिनल खोलना चाहिए। इसके अलावा, कृपया अधिक जानकारी जोड़ने के लिए संपादित करें , मैं समझ नहीं पा रहा हूं कि आप अपनी अंतिम टिप्पणी से क्या पूछ रहे हैं।
terdon

@terdon जब मैं स्रोत ~ /। को चालू करता हूं, तो यह वर्तमान टर्मिनल में ठीक से पथ परिवर्तित करता है। लेकिन जब मैं एक नया टर्मिनल खोलता हूं तो मुझे अभी भी "अब्राम की मैक बुक एयर" आदि दिखाई देती है। मैंने दोनों .profile और .bashrc फ़ाइलों के लिए स्रोत ~ / .profile जोड़ने की कोशिश की, लेकिन अभी भी कोई भाग्य नहीं है। कोई विचार?
bernie2436

4

यहाँ OSX के लिए वन-लाइनर है। यह उस प्रॉम्प्ट को जोड़ता है जिसे आप प्रोफ़ाइल फ़ाइल में चाहते हैं और फिर प्रोफ़ाइल को फिर से लोड करता है।

echo "PS1='\w\$ '" >> ~/.bash_profile; source ~/.bash_profile

El Capitan पर आप उपयोग करना चाहते हैं

echo "PS1='\w\$ '" >> ~/.profile; source ~/.profile

1

किसी कारण से '\w\$'मेरे लिए काम नहीं किया, लेकिन इसके बजाय मैंने किया: export PS1="$(pwd) \$"और यह काम किया।


4
जब आप निर्देशिकाओं को बदलते हैं तो यह भी अच्छी तरह से काम नहीं करेगा ...
स्टीफन किट

0

एक पुराने धागे की तरह दिखता है, लेकिन नीचे दिए गए चरणों ने मेरे लिए OS X 10.9.5 पर काम किया

  • डाल PS1='\w\$ 'में~/.profile
  • यदि आपने ~/.bashrcउन्हें हटाने में कोई परिवर्तन किया है
  • cmd+ के साथ टर्मिनल बंद करेंq
  • टर्मिनल को फिर से खोलें

1
मेरे मामले में पूरा PATH वास्तव में बड़ा है इसलिए मैंने PS1 = '\ w \ n \ $' जैसी अगली पंक्ति के लिए एक और ध्वज जोड़ा है
विजेता
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.