2013-03-13 15 views
37

मैंने रूबी 2.0 स्थापित करने का प्रयास किया। मेरे आदेश पंक्ति urped और अब ऐसा दिखाई देता है:-bash: __git_ps1: आदेश नहीं मिला

-bash: __git_ps1: command not found 
[11:58:28][[email protected] ~]$ 

मैं एक सुराग कैसे __git_ps1 आदेश त्रुटि नहीं मिला छुटकारा पाने के लिए नहीं किया है। मैंने अपने .bash_profile और my .bashrc को यह देखने के लिए खोजा है कि क्या यह एक चर या कुछ सेट करने की कोशिश कर रहा है और कुछ भी नहीं देख रहा है। एकमात्र जगह जिसे मैं git_ps1 का उल्लेख कर सकता हूं ~/.dotfiles/.bash_prompt में है। मैं पूरी तरह से उस फ़ाइल की सामग्री को प्रतिस्थापित करता हूं, लॉगआउट करता हूं और वापस लॉग इन करता हूं और यह कुछ भी ठीक नहीं करता है।

मैंने this देखा, लेकिन मैं कमांड लाइन के लिए काफी नया हूं इसलिए मैंने खुद को भ्रमित कर दिया।

कोई विचार?

+0

आप किस गिट का उपयोग कर रहे हैं? –

+0

एक नज़र डालें https://bbs.archlinux.org/viewtopic.php?id=147462 –

+0

गिट संस्करण 1.7.10.2 (ऐप्पल गिट -33) –

उत्तर

16

बाश में आपको अच्छी जानकारी देने के लिए स्वचालित रूप से अपना संकेत सेट करने के कई तरीके हैं। आप PS1 पर्यावरण चर सेट करके प्रॉम्प्ट सेट करते हैं। उदाहरण के लिए, अगर मैं सेट PS1="$ " मेरी शीघ्र इस तरह दिखेगा: बहुत जानकारीपूर्ण

$ 

नहीं। मैं बस इतना कह सकता हूं कि कमांड लाइन मुझे संकेत दे रही है।

हालांकि, अगर मैं PS1=\[email protected]\h: \w$ निर्धारित करते हैं, मेरी शीघ्र अब इस तरह दिखेगा:

[email protected]:/usr/bin$ 

कि मुझसे कहता है कि मैं (\u) में लॉग इन कर रहा हूँ, मशीन मैं पर (\h), और जिस निर्देशिका में मैं हूं (\w)। अगर मैं git का उपयोग करता हूं, तो यह अच्छा होगा अगर मैं जिस गिट शाखा में हूं, वह भी मेरे प्रॉम्प्ट का हिस्सा है।

यह आपके .profile, आपकी .bashrc फ़ाइल, आपके .bash_login या आपके .bash_profile स्क्रिप्ट के साथ ठीक है। या, /etc/profile में कुछ सिस्टम व्यवस्थापक ने क्या किया।

कुछ ऐसी चीजें हैं जो आप कर सकते हैं। कोई एक:

  • लापता __git_ps1 डाउनलोड करें और सुनिश्चित करें कि यह आपके $PATH वातावरण चर में है (जैसा कि ऊपर उल्लेख विभिन्न आरंभीकरण फ़ाइलों का एक संयोजन द्वारा निर्धारित है जो)
  • जो कुछ भी प्रारंभ फ़ाइल में अपने PS1 वातावरण चर बदले जा रहा है निष्पादित (मुझे विश्वास है कि यह शायद .bash_profile है।

बस अंतिम पंक्ति के रूप में जोड़ना:

[email protected]:/usr/bin 
$ 

मुझे लगता है कि क्योंकि करना पसंद:

PS1="\[email protected]\h:\w\n$ " 

इस तरह नीचे लाइन पर \n प्रिंट डॉलर साइन शीघ्र जोड़ा प्रॉम्प्ट अपेक्षाकृत लंबा हो सकता है और कमांड लाइन को संपादित करना मुश्किल हो जाता है जब प्रॉम्प्ट 30 से 50 वर्णों से अधिक लंबा होता है। अन्यथा, यह मानक संकेत है जो अधिकांश उपयोगकर्ता उपयोग करते हैं। आप man pages में BASH संकेतों को सेट करने के बारे में अधिक देख सकते हैं। (उस पृष्ठ पर संकेत देने वाले शब्द की खोज करें)।

यदि आपको थोड़ा उलझन लगता है, तो खुश रहें कि आप कॉर्नशेल का उपयोग नहीं कर रहे हैं। मैं के शेल का उपयोग करें और एक ही शीघ्र PS1=\[email protected]\h:\w\n$ करता है पाने के लिए, मैं अपने शीघ्र के रूप में स्थापित:

export PS1='$(print -n "`logname`@`hostname`:";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "\n$ ")' 
+0

पर है, मैंने इसे अपने बीपी की अंतिम पंक्ति में जोड़ा और कम से कम तोड़ना नहीं है। यह पता लगाने की कोशिश कर रहेगा कि मैं नीचे क्यों घुमा सकता हूं और वह काम भी कर सकता हूं। सबको शुक्रीया। –

+4

बस गिट में जाएं और फ़ाइल को मैन्युअल रूप से डाउनलोड करें। ब्राउज़र में https://github.com/git/git/blob/master/contrib/completion/git-prompt.sh पर जाएं, और *** रॉ *** बटन पर क्लिक करें। फिर कट और पेस्ट करें। –

+6

प्रश्न "__git_ps1" के बारे में था जिसे git-prompt.sh में घोषित किया गया है। @ Emil-lundberg उत्तर सही उत्तर – Metal3d

101

भागो निम्नलिखित:

$ curl -L https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh > ~/.bash_git 

और अपने ~/.bashrc के शीर्ष से जोड़ें:

source ~/.bash_git 

अपने खोल करने के लिए पुन: लॉगिन और आप सेट किया जाना चाहिए।

+0

ब्लेक, मुझे यह मिलता है: कर्ल: (3) खराब –

+3

यदि आपके पास स्थानीय रूप से गिट स्थापित है (कम से कम फेडोरा पर), git-prompt.sh स्क्रिप्ट को गिट वितरण के साथ '/ usr/share/git पर शामिल किया गया है -कोर/contrib/समापन/git-prompt.sh' –

+1

@AlexJordan आर्क के तहत बहुत समान धारण करता है: '/ usr/share/git/complet/git-prompt.sh' –

27

एक git-prompt.sh के लिए खोज के लिए अपने सिस्टम, आप source की जरूरत है कि __git_ps1 समारोह उपलब्ध होने की। आर्क में, यह वर्तमान में /usr/share/git/completion/git-prompt.sh पर स्थित है।

source /path/to/git-prompt.sh 

कुछ उपयुक्त शैल स्क्रिप्ट में जोड़ें। यदि आप अनिश्चित हैं, तो इसे अपने ~/.bashrc पर जोड़ें।

यदि आपके पास locate स्थापित है, तो आप git-prompt.sh फ़ाइल को खोजने के लिए इसका उपयोग कर सकते हैं, लेकिन आपको पहले रूट के रूप में updatedb चलाने की आवश्यकता हो सकती है।

+4

यह अच्छा जवाब है, इसे पीएस 1 निर्यात "स्रोत /usr/share/git-core/contrib/completion/git-prompt.sh" उद्धरण के बिना ~/.bashrc में जोड़ें। – Metal3d

संबंधित मुद्दे