Как сделать: подчеркивание, полужирный, курсив, зачеркивание, цвет, фон и размер в терминале Gnome?

Есть всевозможные способы сделать это, но в итоге у вас будут те же проблемы, которые у вас есть. Просто сохраните свой материал в небольшом разделе ntfs.

1
задан 13 April 2017 в 15:23

3 ответа

Чтобы расширить ответ Сильвена, некоторые вспомогательные функции:

ansi()          { echo -e "\e[${1}m${*:2}\e[0m"; }
bold()          { ansi 1 "$@"; }
italic()        { ansi 3 "$@"; }
underline()     { ansi 4 "$@"; }
strikethrough() { ansi 9 "$@"; }
red()           { ansi 31 "$@"; }

Затем

19
ответ дан 24 May 2018 в 03:22

Что-то, что еще не было охвачено, это комбинация двух или трех параметров, например. г. полужирным и подчеркивающим, в предопределенном цвете. Это достигается с помощью трехстороннего синтаксиса, например:

~$ printf "\e[3;4;33mthis is a test\n\e[0m"

приведет к тому, что «это тест» будет напечатан желтым цветом (комбинация ), курсив ( 3m) И подчеркнуто (4m). Обратите внимание, что bold необходимо повторять \e[ каждый раз. Заметьте также, что (подобно Сильвану) я также добавил \e[0m для сброса настроек каждый раз, потому что иначе желтый цвет и стиль шрифта останутся активными в терминале! Само собой разумеется, что вам абсолютно необходимо следить за тем, чтобы они могли быть сброшены в сценариях, потому что пользователям, использующим ваши сценарии, может не понравиться, если ваш скрипт постоянно изменяет свои настройки цвета + стиля в терминале!

16
ответ дан 24 May 2018 в 03:22

Терминал GNOME 3.28 (VTE 0.52), дебютирующий в Ubuntu 18.04 LTS, добавляет поддержку еще нескольких стилей, включая фигурные и цветные подчеркивания, как показано в Kitty, overline, как показано в Konsole, и, наконец, каждый очень любимый или сильно ненавистный атрибут blink

Они также автоматически работают в любом другом эмуляторе терминала VTE (например, Tilix, Terminator, Xfce4-terminal, Guake и т. д.), учитывая, что VTE по крайней мере в версии 0.52. [!d1 ]

Вот список, демонстрирующий стандартные escape-последовательности, а также дополнения GNOME Terminal (VTE). Обратите внимание, что для каждой последовательности открытия я также показываю только последовательность закрытия этого свойства, а не общий \e[m или \e[0m, который отключает все специальные режимы.

echo -e '\e[1mbold\e[22m'
echo -e '\e[2mdim\e[22m'
echo -e '\e[3mitalic\e[23m'
echo -e '\e[4munderline\e[24m'
echo -e '\e[4:1mthis is also underline (new in 0.52)\e[4:0m'
echo -e '\e[21mdouble underline (new in 0.52)\e[24m'
echo -e '\e[4:2mthis is also double underline (new in 0.52)\e[4:0m'
echo -e '\e[4:3mcurly underline (new in 0.52)\e[4:0m'
echo -e '\e[5mblink (new in 0.52)\e[25m'
echo -e '\e[7mreverse\e[27m'
echo -e '\e[8minvisible\e[28m <- invisible (but copy-pasteable)'
echo -e '\e[9mstrikethrough\e[29m'
echo -e '\e[53moverline (new in 0.52)\e[55m'

echo -e '\e[31mred\e[39m'
echo -e '\e[91mbright red\e[39m'
echo -e '\e[38:5:42m256-color, de jure standard (ITU-T T.416)\e[39m'
echo -e '\e[38;5;42m256-color, de facto standard (commonly used)\e[39m'
echo -e '\e[38:2::240:143:104mtruecolor, de jure standard (ITU-T T.416) (new in 0.52)\e[39m'
echo -e '\e[38:2:240:143:104mtruecolor, rarely used incorrect format (might be removed at some point)\e[39m'
echo -e '\e[38;2;240;143;104mtruecolor, de facto standard (commonly used)\e[39m'

echo -e '\e[46mcyan background\e[49m'
echo -e '\e[106mbright cyan background\e[49m'
echo -e '\e[48:5:42m256-color background, de jure standard (ITU-T T.416)\e[49m'
echo -e '\e[48;5;42m256-color background, de facto standard (commonly used)\e[49m'
echo -e '\e[48:2::240:143:104mtruecolor background, de jure standard (ITU-T T.416) (new in 0.52)\e[49m'
echo -e '\e[48:2:240:143:104mtruecolor background, rarely used incorrect format (might be removed at some point)\e[49m'
echo -e '\e[48;2;240;143;104mtruecolor background, de facto standard (commonly used)\e[49m'

echo -e '\e[21m\e[58:5:42m256-color underline (new in 0.52)\e[59m\e[24m'
echo -e '\e[21m\e[58;5;42m256-color underline (new in 0.52)\e[59m\e[24m'
echo -e '\e[4:3m\e[58:2::240:143:104mtruecolor underline (new in 0.52) (*)\e[59m\e[4:0m'
echo -e '\e[4:3m\e[58:2:240:143:104mtruecolor underline (new in 0.52) (might be removed at some point) (*)\e[59m\e[4:0m'
echo -e '\e[4:3m\e[58;2;240;143;104mtruecolor underline (new in 0.52) (*)\e[59m\e[4:0m'

(*) Truecolor значения для подчеркиваний немного приближены.

И немного странный, который не совсем подходит для этой картины, поскольку это скорее функциональность, чем стиль, но, вероятно, стоит упомянуть здесь, это поддержка гиперссылок co с интерфейсом iTerm2, доступным с терминала GNOME 3.26 (VTE 0.50):

echo -e '\e]8;;http://askubuntu.com\ahyperlink\e]8;;\a'

Вот скриншот, демонстрирующий результат: гиперссылка

6
ответ дан 24 May 2018 в 03:22
  • 1
    Снимок экрана результата будет прекрасным, для тех из нас, у кого нет этих версий gnome-terminal / vte. – Marius Gedminas 16 April 2018 в 23:11
  • 2
    @MariusGedminas Сделано. – egmont 16 April 2018 в 23:57

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

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