我最近使用.bash_profile修改了我的终端命令提示符的颜色和格式。不幸的是,在这样做的过程中,我也导致我输入的任何文本都以非常透明的阴影显示:
以下是我的.bash_profile的内容:
PS1="\[\033[0;35m\]\u\[\033[1;33m\]@\[\033[1;33m\]\w\[\033[0;32m\]\$ "
export PS1;
export CLICOLOR=1
export LSCOLORS=Gafxcxdxbxegedabagacad
如何修改我的.bash_profile文件,使所有文本都像图像中显示的粗体绿色和粗体黄色文本一样明亮/粗体?
使用转义码设置PS1变量很繁琐,并且通常会产生副作用。我这样做了多年,线条包装经常被打破。我在终端窗口测试了你的PS1。似乎某些东西没有正确终止,因为颜色会渗透到下一行。我使用tput设置PS1,这使得赋值更具可读性。这是我在.bash_profile中的内容:
set_prompt() {
local red=$(tput setaf 1)
local green=$(tput setaf 2)
local yellow=$(tput setaf 3)
local blue=$(tput setaf 4)
local magenta=$(tput setaf 5)
local cyan=$(tput setaf 6)
local white=$(tput setaf 7)
local reset=$(tput sgr0)
if [ ${UID} -eq 0 ]; then
# user is red when we are root
export PS1="\[$red\]\u\[$white\]@\[$green\]\h\[$white\]:\[$yellow\]\w [$reset\]$ "
else
export PS1="\[$blue\]\u\[$white\]@\[$green\]\h\[$white\]:\[$yellow\]\w\[$reset\]$ "
fi;
}
# Don't set the prompt for dumb terminals
if [ ${TERM+x} -a "${TERM-}" != "dumb" ]; then
set_prompt
fi
更明亮的文本来自这个块,它设置了粗体属性1
:
\[\033[1;33m\]
因为你在最后省略了粗体,所以文字是暗淡的:
\[\033[0;32m\]
32
和33
分别选择绿色和黄色,但没有粗体属性,大多数终端显示为棕色。
进一步阅读
我也在使用macbook但是我没有使用默认的终端应用程序。我使用iTerm,它实际上更灵活,可以配置为你想要它显示的东西。