更改 bash 配置文件中提示的颜色

change color of prompt in bash profile

我正在尝试将终端中提示的颜色更改为开始时用户的绿色文本和白色 ~

目前我的 .bash_profile 文件配置如下,为用户名提供黄色,为 ~

提供粉红色

PS1='\e[33;1m\u@\h: \e[31m\W\e[0m$'

有谁知道如何修改以上内容以将颜色更改为绿色和白色?

谢谢!

PS1='\e[32;1m\u@\h: \e[37m\W\e[0m$'

[后面的数字是颜色代码。 See this reference.

您要更改 ANSI escape sequences, specifically the colors

\e[...m 采用分号分隔的代码列表来控制以下文本的显示方式。 33 代表黄色前景文本,1 代表粗体文本,31 代表红色前景文本,0 将所有值(前景和背景颜色、样式等)重置为其终端默认值。

# Make text yellow and bold, then make it red (keeping it bold)
# and finally restore the default
PS1='\e[33;1m\u@\h: \e[31m\W\e[0m$'

要使用 green/white 而不是 yellow/red,请将 33 更改为 32,将 31 更改为 37。此外,请务必将不占用屏幕上任何 space 的字符括在里面\[...\] 以便 shell 可以正确确定提示的长度。

PS1='\[\e[32;1m\]\u@\h: \[\e[37m\]\W\[\e[0m\]$'

这假定您的终端理解 ANSI 转义序列;一种更便携的方法是使用 tput 输出您实际终端使用的代码:

PS1='\[$(tput bold; tput setaf 2)\u@\h: \[$(tput setaf y)\]\W$(tput sgr0)$ '

zsh,顺便说一句,这让这件事变得容易多了;它具有内置转义符,用于以独立于终端的方式更改颜色:

# 1. Everything between %B and %b is in bold
# 2. Everything between %F{x} and %f is in a different color;
#    x can be a color name, and you can switch from one
#    color to another without using %f
# 3. zsh is smart enough to account for built-in escapes when
#    computing the prompt lenght, so no equivalent of \[...\]
#    is needed
# 4. %n is the same as \u
# 5. %m is the same as \h
# 6. %~ is roughly the same as \W
# 7. %# is roughly the same as $
PS1='%B%F{green}%n@%m: %F{white}%~%b%f%# '

与其他方法相比,此方法有两个好处:

  1. 它使用 \[ 和 ``]to prevent character count problems withCTRL-A` 对换行的编辑将转义序列括起来
  2. 它使用tput改变颜色,这样就多了一点self-documenting正在做的事情:

    PS1='\[$(tput setaf 2)\]\u@\h: \[$(tput setaf 7)\]\W\[$(tput sgr0)\]$'

要更改每个部分的提示颜色,请尝试使用这个简单的 repo:

https://github.com/joenmarz/bashrc-alias

您可以更改每个提示部分的颜色,例如:

  • 用户名
  • '@'符号
  • 主机名
  • 时间
  • 括号符号“[”和“]”
  • root 指示符(# 代表 root 用户),$ 代表非 root 用户)

您的提示看起来像:

[username@hostname 00:00 AM ~/working/directory $]

转到此文件的第 33 行 (bashrc-alias/.bashrc) 自定义每个提示部分颜色变量:

  • open_brk_color 更改左括号颜色
  • closed_brk_color 更改 右括号 颜色
  • at_color 更改 '@' 符号 颜色
  • username_color 更改用户名颜色
  • hostname_color 更改 主机名 颜色
  • time_color 更改时间提示颜色
  • wd_color 更改工作目录提示颜色
  • ri_color 更改 根指标 颜色

如何安装

  1. 在您的主目录中克隆此存储库 git clone https://github.com/joenmarz/bashrc-alias
  2. 在现有的 ~/.bash 文件中添加文件路径: . /home/$USER/bashrc-alias/aliases
  3. 通过键入以下内容刷新您的 .bashrc 源: source ~/.bashrc

我通过向每个提示部分添加一些变量使其变得更容易。