Ниже приведен общий ответ о последовательности ANSI Escape в tty контексте .
Чтобы выделить определенную последовательность, поменяв местами задний план и передний план, чтобы она оставалась читаемой на всех цветовых схемах, используйте код 7 Обратное видео .
Таким образом, нет необходимости предварительно знать палитру и адаптироваться.
Пример в bash , с использованием обратного видео:
echo -e "\033[7mHello world\e[0m"
Это может быть цепочка, обратное видео и красный фон:
echo -e "\033[31;7mHello world\e[0m"
Это всегда будет читаемо на любом фоне, например, во второй строке этого gif:
Обратное видео обычно используется в программах для визуальной помощи
выделить выбор, который был сделан в качестве помощи в предотвращении
ошибки описания, когда предполагаемое действие выполняется над объектом
это не то, что предполагалось. Это чаще встречается в современном настольном компьютере
среды, чтобы изменить фон на другие цвета, такие как синий или
использовать полупрозрачный фон для «выделения» выделенного текста.
На терминале, понимающем escape-последовательности ANSI, обратное видео
функция активируется с помощью управляющей последовательности CSI 7 м (что равно
SGR 7 ).
https://en.wikipedia.org/wiki/Reverse_video
Из моего собственного ответа: Как изменить цвет вывода echo в Linux , вопрос с большим количеством информации о ANSI-последовательностях .