मैं अपने बैश प्रॉम्प्ट में तीर के निशान का उपयोग कैसे कर सकता हूं?


17

मैं इन लाल और हरे तीर संकेतों का उपयोग कैसे कर सकता हूँ?

यहां छवि विवरण दर्ज करें

अद्यतन 1

यह मेरी .bashrcफाइल है

if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\[\033[00m\]\ 
[\033[01;34m\]→  \w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}→  \w\$ '
fi
unset color_prompt force_color_prompt

मैं चाहता हूं कि यह तीर रंग में हो जैसा कि @dertert ने उत्तर दिया (गलत और सच्चे आदेश के लिए लाल और हरे रंग की बारी)

जवाबों:


25

आप उपयोग कर सकते हैं bashs ' PROMPT_COMMANDएक समारोह जो आपके शीघ्र, जैसे बनाता है चलाने के लिए:

PROMPT_COMMAND=build_prompt

build_prompt() {
  EXIT=$?               # save exit code of last command
  red='\[\e[0;31m\]'    # colors
  green='\[\e[0;32m\]'
  cyan='\[\e[1;36m\]'
  reset='\[\e[0m\]'
  PS1='${debian_chroot:+($debian_chroot)}'  # begin prompt

  if [ $EXIT != 0 ]; then  # add arrow color dependent on exit code
    PS1+="$red"
  else
    PS1+="$green"
  fi

  PS1+="→$reset  $cyan\w$reset \\$ " # construct rest of prompt
}

इस कोड को अपनी ~/.bashrcफ़ाइल में जोड़ें और एक नया टर्मिनल खोलें या . ~/.bashrcप्रभावी होने के लिए मौजूदा एक में चलाएं । ध्यान दें कि मैंने \$अंत में सामान्य रूप से जोड़ा , यह $सामान्य रूप से प्रिंट करता है और #यदि आप रूट हैं, तो इस प्रकार आपको कमांड को अनजाने में रूट करने से रोकते हैं। falseआदेश गैर शून्य से बाहर निकलें कोड संस्करण का परीक्षण करने के लिए एक अच्छा तरीका है:

परिणाम

यदि आप तुरंत थीम पर विचार कर रहे हैं, तो आपको निश्चित रूप से zshशेल (पैकेज zsh) पर एक नज़र डालनी चाहिए , जिसका प्रसिद्ध कॉन्फ़िगरेशन ढांचा ओह माय ज़श अकेले सौ विषयों के साथ आता है । इसके अतिरिक्त कई अन्य प्लगइन्स उपलब्ध हैं, उदाहरण के लिए ZSpaceship ZSH प्रॉम्प्ट

लिंक


1
हालांकि यह एक बड़ा सादा-बैश समाधान है , आप zsh (bash के प्रतिस्थापन के रूप में) पर नज़र डाल सकते हैं और विशेष रूप से स्पेसशिप प्रॉम्प्ट
रिचर्ड डी विट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.