Của tôi PS1
trong ~/.bash_profile
:
export PS1="\\n\[\033[38;5;246m\]\u@\[\033[38;5;245m\]\h\[\033[38;5;15m\] \[\033[38;5;28m\]\w\[\033[38;5;15m\]\[\033[38;5;2m\]`__git_ps1`\[\033[38;5;15m\] \[\033[38;5;90m\]\t\[\033[38;5;15m\] \[\033[38;5;232m\]\[\033[38;5;15m\] \n\[\033[38;5;0m\]\\$ "
(xin lỗi, tôi không có bất kỳ bí danh nào cho mã màu của mình, tôi đã tạo lời nhắc này bằng trình chỉnh sửa trực tuyến)
Đó là một chút lộn xộn nhưng tạo ra một dấu nhắc rất hay:
Nhưng nhánh hiện tại hiển thị luôn sai nếu tôi chuyển đổi
Tôi không chắc tại sao điều này sẽ xảy ra. Nếu tôi tự chạy lệnh, tôi nhận được giá trị chính xác.
$ echo `__git_ps1`
(dev)
Nếu tôi nguồn .bash_profile, giá trị mới sẽ xuất hiện (nhưng sẽ sai khi tôi chuyển đổi lần sau). Tôi có làm điều gì sai?
__git_ps1
phần để bạn không cần sửa lỗi thoát tất cả thông qua lời nhắc) để nó không được gọi / đánh giá ngay lập tức và không được mở rộng cho trình bao để gọi vào thời gian hiển thị nhanh chóng.