सिग्विन प्रॉम्प्ट को बदलें


17

"user@computer path \ N $" का डिफ़ॉल्ट साइबर प्रॉम्प्ट मेरे लिए बहुत लंबा है। मैं रास्ता रखना चाहूंगा।

मैं यह बनना चाहता हूं:

रास्ता $

वहाँ एक विन्यास फाइल मैं यह करने के लिए संशोधित कर सकते हैं?



जवाबों:


26

PS1वातावरण चर शीघ्र नियंत्रित करता है:

PS1='\w $ '

इस और अन्य त्वरित कॉन्फ़िगरेशन विषयों पर अधिक जानकारी के लिए, टाइप करें man bash(मान लें bashकि आपका शेल है) और "PROMPTING" अनुभाग देखें।

इस परिवर्तन को स्थायी बनाने के ~/.bashrcलिए, उपरोक्त पंक्ति को जोड़ने के लिए अपनी फ़ाइल को संपादित करें ।


1
~ / .bashrc लॉगिन शेल के लिए निष्पादित नहीं होता है। इसके बजाय ~ / .bash_profile अपडेट करें। मैं निम्नलिखित संकेत स्ट्रिंग का उपयोग करता हूं, जिसमें कुछ अन्य उपयोगी जानकारी है, न कि केवल पथ: PS1 = '[\ e [32m] \ t [\ e [33m] \ w [\ e [31m] \! [\ ई [0 मिनट] \ $ '
bobmcn

1
ताकि प्रभाव में, एक लॉगिन खोल एक गैर लॉगिन खोल से एक ही सामग्री के साथ आरंभ नहीं हो जाता मत भूलना कि सामान्य रूप से .profile सूत्रों .bashrc, प्लस क्या .profile में है। अगर ऐसा है, तो अपने नए प्रॉम्प्ट को .bashrc में एक पत्थर से दो पक्षियों को मार दें।

1

एक लॉगिन शेल वह है जिसका तर्क शून्य का पहला चरित्र a - है, या एक - thelogin विकल्प के साथ शुरू हुआ है। जब बैश को एक इंटरेक्टिव लॉगिन शेल के रूप में या एक गैर-इंटरेक्टिव शेल के रूप में - एल्गिन विकल्प के रूप में लागू किया जाता है, तो यह पहले फ़ाइल / आदि / प्रोफाइल से कमांड को पढ़ता है और निष्पादित करता है, यदि वह फ़ाइल मौजूद है। उस फ़ाइल को पढ़ने के बाद, यह उस क्रम में ~ / .bash_profile, ~ / .bash_login और ~ / .profile की तलाश करता है, और पहले मौजूद से कमांड पढ़ता और निष्पादित करता है और पढ़ने योग्य होता है। --Noprofile विकल्प का उपयोग तब किया जा सकता है जब शेल को इस व्यवहार को बाधित करने के लिए शुरू किया जाता है जब एक इंटरैक्टिव शेल जो कि लॉगिन शेल शुरू नहीं होता है, तो bash पढ़ता है और ~ / .bashrc से कमांड निष्पादित करता है, यदि वह फ़ाइल मौजूद है।

तो यह निर्भर करता है ... मैं --login का उपयोग नहीं करता, इसलिए मैं इसे ~ / .bashrc में जोड़ना चाहिए


1

यह सुनिश्चित नहीं है कि कम संदर्भ होना अधिक होने से बेहतर है ... इस तथ्य में कि प्रॉम्प्ट में एक नई लाइन है, प्रॉम्प्ट की लंबाई एक मुद्दा नहीं होनी चाहिए, लेकिन यह कोशिश करें:

PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

या

export PS1='\[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

यह आपको एक रंगीन संकेत देता है:

/full/path/to/current/folder
$your command text here

इस तरह, आप हमेशा अपने पूर्ण फ़ोल्डर संदर्भ को देखते हैं लेकिन फिर भी इनपुट टेक्स्ट के लिए एक पूरी लाइन प्राप्त करते हैं। (मैंने '$' के बाद प्रथागत स्थान छोड़ दिया क्योंकि यह स्पष्टता के लिए रंगीन है)।

Colours are:
    1. '/full/path/...' = yellow;
    2. '$' (on next line) = cyan;
    3. 'your command text...' = light grey.

जो 'उपयोगकर्ता @ होस्टनाम' संदर्भ चाहते हैं, उनके लिए भी:

PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

या

export PS1='\[\e[1;32m\]\u\[\e[1;35m\]@\[\e[1;32m\]\h \[\e[1;33m\]\w\n\[\e[1;36m\]\$\[\e[0m\] '

यह आपको एक रंगीन संकेत देता है:

user@hostname /full/path/to/current/folder
$your command text here

यह मेरी प्राथमिकता है।

Colours are:
    1. 'user' = (light) green;
    2. '@' = pink;
    3. 'hostname' = (light) green;
    4. '/full/path/...' = yellow;
    5. '$' (on next line) = cyan;
    6. 'your command text...' = light grey.

(नहीं, इस पोस्ट में वर्तनी की गलतियाँ नहीं हैं - रानी की अंग्रेजी;))


1

.bashrc ने मेरे लिए काम नहीं किया। मैंने इसे / etc / प्रोफाइल के अंत में जोड़ा और यह काम किया:

export PS1="\[\e[33m\]\w\[\e[0m\] \$ "

मैं Cygwin संस्करण 2.11.2 (2018-12-18 का नवीनतम संस्करण) का उपयोग कर रहा हूं।


0

इसे अपने ~ / .bashrc में डालें। एक रंगीन संकेत देता है और एक ही पंक्ति में स्थिति रखता है।

export PS1="\[\e]0;\w\a\]\n\[\e[32m\]\u@\h \[\e[33m\]\w\[\e[0m\]\$ "
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.