RGB色でprintfの前景と背景

RGB色でprintfの前景と背景

完成した

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エスケープコードを使用しますが、これはすべての端末でサポートされていない可能性があります。tputANSIコードの代わりに、ほとんどの端末がサポートする必要があるコマンドを試すこともできます。

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内蔵)で両方の方法を試しましたが、どちらも機能しませんでした。

関連情報