相关疑难解决方法(0)

tput setaf 颜色表?如何确定颜色代码?

我正在为我的终端的PS1.

我正在使用设置颜色变量tput;例如,这里是紫色:

PURPLE=$(tput setaf 125)
Run Code Online (Sandbox Code Playgroud)

题:

我如何找到125其他颜色的颜色代码(例如)?

某处是否有色表指南/备忘单?

我只是不确定什么125是......有什么方法可以将十六进制颜色转换为setaf可以使用的数字?

colors bash tput

109
推荐指数
5
解决办法
10万
查看次数

如何在终端中使用 256 色作为背景色

我知道如何在终端中为文本使用 256 种颜色:

printf "\033[38;5;196mhello\n"
Run Code Online (Sandbox Code Playgroud)

但是对于背景颜色,我似乎仅限于基本的8种颜色,即:

printf "\033[41mhello\n"
Run Code Online (Sandbox Code Playgroud)

我怎样才能使用 256 色作为背景色?

我的意思是,终端已经知道颜色,所以应该是可能的。但是语法是什么?

如果相关,我将terminator用作我的终端模拟器和zsh我的外壳。

colors zsh terminal gnome-terminator ansi

9
推荐指数
2
解决办法
2204
查看次数

在所有主要发行版中输出彩色文本而不使用非单词颜色代码(如 \033[0;31m)

例如,我找到了这些方法,以简单的方式将彩色文本输出到屏幕:

RED="\033[0;31m" # Red color (via ANSI escape code);
NC='\033[0m' # No color (via ANSI escape code);
echo -e "${RED}This text is red. ${NC}" # -e flag allows backslash escapes;
Run Code Online (Sandbox Code Playgroud)

或者:

printf '\e[1;34m%-6s\e[m' "This is blue text"
Run Code Online (Sandbox Code Playgroud)

我还发现:

tput setaf 1; echo "this is red text"
Run Code Online (Sandbox Code Playgroud)

但我从未使用过tput,我不确定它是否随所有主要发行版(Debian、CetnOS、Arch 等)一起提供。

我的问题

如何以一种简单的方式以给定的命名通用颜色(如“红色”)输出彩色文本,我可以指望在所有主要发行版上工作,而不使用“凌乱”颜色代码?

colors bash stability output distributions

0
推荐指数
1
解决办法
481
查看次数