我如何获得彩色的打击?


Answers:


128

~/.bashrc在文本编辑器中打开并取消注释行:

#force_color_prompt=yes

成为:

force_color_prompt=yes

保存然后执行 source ~/.bashrc


不能完全回答问题,但我更喜欢此结果(分散注意力)。
詹姆斯·希尔斯霍恩

我认为它确实可以回答。为什么不 ?
致Kra 2013年

这是您的方法之后的样子:!2016-10-25 16:12:15.png 不完全是这个问题。
詹姆斯·希尔斯霍恩

@JamesHirschorn force_color仅启用颜色,您始终可以使用PS1变量来管理着色。请参阅我的脚本github.com/to-kra/dotfiles/blob/master/scripts/中的示例,它也启用git状态。 ..您可以在用户个人资料中导出自己的PS1,并制作自己喜欢的颜色和格式。thx
致Kra

force_color_prompt=yes启用颜色的预期方法吗?对我来说,强迫听起来像是一种解决方法。
Jaakko

60

我想出了以下解决方案:

  • 在编辑器中打开〜/ .bashrc
  • 复制此文件并将其添加到.bashrc文件的末尾:

    PS1='\[\033[1;36m\]\u\[\033[1;31m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;31m\]\$\[\033[0m\] '
  • 保存文件并重新启动bashrc:

    source ~/.bashrc

有关可用颜色的完整列表以及其他选项,请查看以下链接:


您可能要检查液体提示。这是一个非常实用的信息提示。google.com/...
斯科特Goodgame


完美的色彩选择!
帕克


3

一个更“一般”的版本-应该在多种环境下工作:(
取决于terminfo)

将此插入您的$HOME/.bashrc

function fgtab {
  echo "tput setf/setb - Foreground/Background table"
  for f in {0..7}; do
    for b in {0..7}; do
      echo -en "$(tput setf $f)$(tput setb $b) $f/$b "
    done
    echo -e "$(tput sgr 0)"
  done
}

# The prompt in a somewhat Terminal -type independent manner:
cname="$(tput setf 3)"
csgn="$(tput setf 4)"
chost="$(tput setf 2)"
cw="$(tput setf 6)"
crst="$(tput sgr 0)"
PS1="\[${cname}\]\u\[${csgn}\]@\[${chost}\]\h:\[${cw}\]\w\[${csgn}\]\$\[${crst}\] "

然后执行source ~/.bashrc

之后,fgtab将显示带有数字的颜色表。这些数字用于tput setf ntput setb n其中“ n”是数字,“ f”代表“前景”,“ b”代表“背景”颜色。

tput sgr 0 将前景色和背景色重置为默认值。

如您所见,更改提示所用的颜色变得非常容易(只需根据需要编辑相同的数字$HOME/.bashrc)。

添加$(tput setb n)$cname,如果你想拥有所有背景n中的提示。



ibm.com/developerworks/linux/library/l-tip-提示更多有关直接数字处理的信息。
汉奴

man 5 terminfo显示了tput可以使用的内容,虽然有点技术性,所以“请注意”-但是一点点的猜测和测试实际上可能会让您正常工作。
汉奴
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.