完成了
rst="\e[0m" # Reset to default colours
orn="\e[38;2;100;65;0;48;2;0;0;0m" # Orange on black background
printf '%s\n' "$orn HELLO $rst"
但颜色没有生效。
答案1
您的命令对颜色使用 ANSI 转义码,这可能并非所有终端都支持。也许尝试使用tput
大多数终端应该支持的命令,而不是 ANSI 代码:
reset="\[$(tput sgr0)\]" # Reset to default colors
orange_on_black="\[$(tput setaf 166; tput setab 0)\]" # Orange on black background
printf '%s\n' "${orange_on_black}HELLO${reset}"
注1:我在 Kali Linux 上使用zsh
,两种方法都可以正常工作。
笔记2:我还在集成终端(内置 VSCode)中尝试了这两种方法,但它们都不起作用。