изменить текстовый цвет моего вывода в командной строке?

Команды Linux очень полезны, когда графический интерфейс не соответствует вашим потребностям, чтобы настроить систему, да, мой друг, вы должны начать изучать команды.

Вот хороший сайт Здесь

1
задан 21 July 2016 в 15:21

2 ответа

Это, безусловно, возможно с помощью escape-кодов ANSI:

<?php
echo "\033[31m some colored text \033[0m some white text \n";
?>

выводит «цветной текст» красным, а «белый текст» - белый (если вы не выбрали разные цвета по умолчанию для своего терминала) .

Символы \033 указывают начало кода эвакуации. [31m - красный цвет. [0m означает конец кодированного фрагмента.

Для других эффектов, таких как полужирный:

\033[1m bold text \033[0m

, см. Раздел escape-коды ANSI .

первая ссылка. Вы можете попробовать эти коды в командной строке, выполнив следующие действия:

echo -e "\033[1m bold text \033[0m"
6
ответ дан 23 May 2018 в 07:55

Вместо жестко закодированных последовательностей вы должны использовать библиотеку, такую ​​как PHP Ncurses, которая, скорее всего, будет работать на других типах терминалов

Пример из Ncurses : [ ! d2]

<?php
ncurses_init();

// If the terminal supports colors, initialize and set active color
if (ncurses_has_colors()) {
    ncurses_start_color();
    ncurses_init_pair(1, NCURSES_COLOR_YELLOW, NCURSES_COLOR_BLUE);
    ncurses_color_set(1);
}

// Write a string at specified location
ncurses_mvaddstr(10, 10, "Hello world! Yellow on blue text!");

// Flush output to screen
ncurses_refresh();

ncurses_end();
?>

Из ncurses_has_colors:

Проверяет, имеет ли терминал возможности цвета. Эта функция может использоваться для записи независимых от терминала программ.

[emphasis mine]

Используйте ncurses_attr(NCURSES_A_BOLD); для жирного шрифта. Обратите внимание, что эта функция и связанные с ней помечены как экспериментальные.

Из ncurses_has_colors

Проверяет, имеет ли терминал цветовые возможности. Эта функция может использоваться для записи независимых от терминала программ.

не зависит от терминала Эта функция в настоящее время не документирована; доступен только список его аргументов.

Предупреждение Эта функция ЭКСПЕРИМЕНТАЛЬНАЯ. Поведение этой функции, ее имя и окружающая документация могут быть изменены без предварительного уведомления в будущей версии PHP. Эту функцию следует использовать на свой страх и риск.

[emphasis theirs]

Вы можете найти другие библиотеки. Вы должны проверить, чтобы они использовали независимые от терминала методы. Я нашел несколько, которые используют жестко кодированные последовательности.

3
ответ дан 23 May 2018 в 07:55

Другие вопросы по тегам:

Похожие вопросы: