这是我目前的PS1:
$ echo $PS1
[e]0;wa]n[e[32m]u@h [e[33m]w[e[0m]n$
我已经安装了 git bash 完成,但它没有在我的命令提示符下显示当前分支。我认为这需要编辑,但我不知道要更改什么才能使其显示当前分支。请注意,我喜欢颜色和一般结构(即$
在自己的行上),所以如果可能的话,我想保留它。
修改提示字符串并在某处添加$(__git_ps1 " (%s)")
。
例如,尝试在 Bash 中键入以下内容:
export PS1="[e]0;wa]n[e[32m]u@h [e[33m]w[e[0m]$(__git_ps1 ' (%s)')n$"
找到喜欢的内容后,将该行添加到 Bash 的启动文件之一,例如 $HOME/.bashrc
.
git-prompt.sh
的来源评论很好,如果您对其他选项感到好奇,值得浏览。
请注意,您可能需要手动source path/to/git-prompt.sh
才能正常工作。如果是这样,请将此行也添加到配置文件中,位于 export PS1
位上方。
我的两分钱。 这是我多年来荒谬复杂的 Bash 提示,它也集成了git-prompt.sh
. 我更聪明的朋友:)
写了大部分!
export HOSTNAME_FQDN=$(hostname)
#export GIT_PS1_SHOWDIRTYSTATE=true
#export GIT_PS1_SHOWSTASHSTATE=true
#export GIT_PS1_SHOWUNTRACKEDFILES=true
#export GIT_PS1_SHOWUNTRACKEDFILES=true
#export GIT_PS1_SHOWUPSTREAM=verbose
#export GIT_PS1_DESCRIBE_STYLE=default
#export GIT_PS1_SHOWCOLORHINTS=true
source /usr/share/git-core/contrib/completion/git-prompt.sh
__set_prompt()
{
local exit_code="$?"
local git_ps1="$(__git_ps1 "%s")"
# Update XTerm window title: "user@hostname: pwd"
PS1="[e]0;u@$HOSTNAME_FQDN: wa]"
# Visible prompt
if [ ! -z "$HOST_DESC" ]
then
# Newline
PS1+="n"
# Bright cyan color (1=bright; 36=cyan)
PS1+="[e[1;36m]"
PS1+="$HOST_DESC"
fi
# Newline
PS1+="n"
if [ $exit_code != 0 ]
then
# Bright red color (1=bright; 31=red)
PS1+="[e[1;31m]"
# "[$?=x]"
PS1+="[\$?=$exit_code] "
fi
# Bright green color (1=bright; 32=green)
PS1+="[e[1;32m]"
# "user@hostname"
PS1+="u@$HOSTNAME_FQDN"
if [ ! -z "$git_ps1" ]
then
# Newline
#PS1+="n"
# Purple color (0=not bright; 37=white)
PS1+="[e[0;35m]"
PS1+=" (Git: $git_ps1)"
fi
# Bright cyan color (1=bright; 36=cyan)
PS1+="[e[1;36m]"
# " date"
# Example: " Fri 2013-11-08 22:20:36 HKT+08:00"
PS1+=" [$(date '+%a %Y-%m-%d %H:%M:%S %Z%z')]"
# Newline
PS1+="n"
# Yellow color (1=bright; 33=yellow)
PS1+="[e[1;33m]"
# pwd
PS1+="w"
# Reset color
PS1+="[e[0m]"
# Newline
PS1+="n"
# "$ "
PS1+="$ "
}
export PROMPT_COMMAND=__set_prompt
示例(多行)提示:
username@hostname (Git: git-branch-name) [Fri 2021-09-03 16:06:00 CST+0800]
/current/path
$