Pada terminal tertentu yang kompatibel dengan XTerm / ANSI (seperti xtermdan gnome-terminal), Anda dapat mengatur warna menggunakan palet yang lebih besar daripada palet standar 8/16-warna (misalnya menggunakan palet 88-warna, 256-warna atau 16777216-warna (RGB) ; keduanya xtermdan gnome-terminalmendukung palet 256-warna dan 16777216-warna (RGB)); keberatan bahwa shell mungkin menimpa ini (ini adalah kasus misalnya untuk zsh).
Berikut ini skrip untuk membuat daftar warna dalam palet 256-warna bersama dengan kode warna ANSI mereka di terminal yang kompatibel dengan XTerm / ANSI dengan dukungan palet 256-warna:
#!/bin/bash
for((i=16; i<256; i++)); do
printf "\e[48;5;${i}m%03d" $i;
printf '\e[0m';
[ ! $((($i - 15) % 6)) -eq 0 ] && printf ' ' || printf '\n'
done


Bergantung pada apakah Anda ingin menerapkan warna ke latar depan atau ke latar belakang, gunakan <fg_bg>nilai 38atau 48(masing-masing) dalam perintah berikut:
printf '\e[<fg_bg>;5;<ANSI_color_code>m'
Misalnya, untuk mengatur warna latar depan ( <fg_bg>= 38) menjadi merah ( <ANSI_color_code>= 196) dan warna latar belakang ( <fg_bg>= 48) menjadi hitam ( <ANSI_color_code>= 0):
printf '\e[38;5;196m Foreground color: red\n'
printf '\e[48;5;0m Background color: black\n'

Ini perlu untuk menggambar ulang prompt menggunakan printf '\e[K'agar warna latar belakang berlaku untuk seluruh baris dan agar warna latar depan berlaku untuk kursor:
Hal yang sama dapat dicapai dengan menggunakan nilai RGB, bukan kode warna ANSI di terminal yang kompatibel; tergantung pada apakah Anda ingin menerapkan warna ke latar depan atau ke latar belakang, gunakan <fg_bg>nilai 38atau 48(masing-masing) dalam perintah berikut:
printf '\e[<fg_bg>;2;<R>;<G>;<B>m'
Misalnya, untuk mengatur warna latar depan ( <fg_bg>= 38) menjadi merah ( <R>= 255, <G>= 0, <B>= 0) dan warna latar belakang ( <fg_bg>= 48) menjadi hitam ( <R>= 0, <G>= 0, <B>= 0):
printf '\e[38;2;255;0;0m Foreground color: red\n'
printf '\e[48;2;0;0;0m Background color: black\n'

Sekali lagi, perlu menggambar ulang prompt menggunakan printf '\e[K'agar warna latar belakang berlaku untuk seluruh baris dan agar warna latar depan berlaku untuk kursor:

Menggunakan salah satu metode, Anda dapat menggunakan printf '\e[0m'untuk mengatur ulang semua atribut:
