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



我试图改变我的终端提示符的颜色为绿色文本的用户在开始和白色的~

目前,我的.bash_profile文件以以下方式配置,为用户名提供黄色,为~提供粉红色

PS1='e[33;1mu@h: e[31mWe[0m$'

有谁知道如何修改上面的颜色,以改变为绿色和白色?

PS1='e[32;1mu@h: e[37mWe[0m$'

[后面的数字为色码。

您希望更改ANSI转义序列,特别是颜色。

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;1mu@h: e[31mWe[0m$'

要使用绿/白代替黄/红,将33改为32,将31改为37。另外,请确保在[...]中包含不占用屏幕空间的字符,以便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 with CTRL-A '编辑转义序列
  2. 它使用tput来改变颜色,这样它就更能自我记录正在做的事情了:

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

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

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

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

  • 用户名
  • "@"符号
  • 间>
  • 括号符号'['和']'
  • 根指示符(#表示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      hostname color
  • time_color      时间提示颜色
  • wd_color     更改工作目录提示符 color
  • ri_color     更改根指示器颜色

如何安装

  1. 将此存储库克隆到您的主目录git clone https://github.com/joenmarz/bashrc-alias
  2. 在现有的~/中添加文件路径。bash文件:. /home/$USER/bashrc-alias/aliases
  3. 刷新你的.bashrc源,输入:source ~/.bashrc

我通过在每个提示部分添加一些变量来使它更简单。

相关内容

  • 没有找到相关文章

最新更新