मैं अपने प्रॉम्प्ट सेट का एक हिस्सा गतिशील रूप से एक फ़ंक्शन द्वारा करने की कोशिश कर रहा हूं, इसलिए मेरे .bashrc
पास मेरे पास है:
asdf ()
{
echo -n $(pwd)
}
PS1="\u@\h:\w $(asdf)\$ "
एक खोलना मुझे वह देता है जिसकी मुझे पहले से उम्मीद थी:
$ bash
darthbith@server:~/test /home/darthbith/test$
हालाँकि, जब मैं निर्देशिका बदलता हूं, तो फ़ंक्शन द्वारा परिभाषित हिस्सा नहीं बदलता है:
darthbith@server:~/test /home/darthbith/test$ cd ~/test2
darthbith@server:~/test2 /home/darthbith/test$
मेरा वास्तविक लक्ष्य मेरी गिट रिपॉजिटरी की शाखा को दिखाने के लिए git-prompt.sh
स्क्रिप्ट का उपयोग करना है जब मैं सुंदर रंगों और सब कुछ के साथ एक हूं, लेकिन समस्या यह है कि जब मैं रिपॉजिटरी बदलते हैं तो यह शाखा नाम को कभी अपडेट नहीं करता है। ऊपर दिया गया तुच्छ उदाहरण सबसे सरल प्रजनन है जिसे मैं अपने प्रश्न के लिए ले सकता हूं।
जिन .bashrc
लाइनों को मुझे गिट-प्रॉम्प्ट स्क्रिप्ट को एकीकृत करना है:
source ~/.git-prompt.sh
PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1)\$ "