ฉันกำลังพยายามให้ส่วนหนึ่งของพรอมต์ของฉันตั้งค่าแบบไดนามิกโดยฟังก์ชั่นดังนั้นในฉันของ.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
สคริปต์เพื่อแสดงสาขาของที่เก็บ git ของฉันเมื่อฉันอยู่ในที่เดียวที่มีสีสวยและทุกอย่าง แต่ปัญหาคือมันไม่เคยอัปเดตชื่อสาขาเมื่อฉันเปลี่ยนที่เก็บ ตัวอย่างเล็ก ๆ น้อย ๆ ข้างต้นคือการทำสำเนาที่ง่ายที่สุดที่ฉันสามารถหาได้สำหรับคำถามของฉัน
.bashrc
เส้นที่ผมจะต้องบูรณาการคอมไพล์สคริปต์พรอมต์:
source ~/.git-prompt.sh
PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1)\$ "