我正在尝试使用 tput setb或setab 功能设置颜色,但我无法获得颜色。在积极的一面tput粗体,下划线的功能正在起作用。我无法找到任何setb函数问题的原因。
__GREEN='\033[0;32m'
print ${__GREEN}$(tput bold)"Green color Bold" $(tput sgr0)
你能帮我使用 tput set 功能来创建颜色吗?
我正在使用putty 0.65版本,TERM = xterm-256color和AIX版本= 7.1
我尝试过使用谷歌的另一种方法,如下所示。 但我想将tput设置用于简单的目的,而不是硬编码颜色值。请帮助我理解。
function sameTypes(arr, type) {
arr.forEach((item, index) => {
if (typeof item == type) {
console.log('TRUE');
} else {
console.log('FALSE');
}
});
}
答案 0 :(得分:0)
终端说明中未提供 setb
(和 setf
)功能,因为它们用于非ANSI颜色。使用 setab
(以及 setaf
)。
- 要更改Tektronix类型终端上的当前前景色或背景色,请使用setaf(设置ANSI前景)和setab (设置ANSI背景)或setf(设置前景)和setb(设置背景)。这些参数采用一个参数,颜色编号。 SVr4 文档仅描述setaf / setab; XPG4草案说明了这一点 "如果终端支持ANSI转义序列来设置背景 和前景,它们应分别编码为 setaf 和 setab 。
的ncurses' terminfo manpage说:
- 如果终端支持其他转义序列以设置背景 和前景,它们应分别编码为setf和setb。 vidputs和refresh(3x)函数使用setaf 和setab功能(如果已定义)。
颜色编号,无论如何:
for n in 0 1 2 3 4 5 6 7;do tput setab $n;echo background $n;done; tput sgr0
答案 1 :(得分:0)
我已在下面定义并且它有效。谢谢!
__GREEN='\033[0;32m'
__NC='\033[0m' # No Color
print -n ${__GREEN}$(tput bold)
banner DEVELOPER
print -n $(tput sgr0)${__NC}
我正在使用AIX Lpar和putty