Невозможно понять строку Less_termcap

Эта проблема связана с темой.

Строка в моем.zshrc

export LESS_TERMCAP_mb=$'\E[01;31m'     # begin blinking

Следующее, кажется, значит

  • \$ начинает выражение
  • ' -' говорит, что все в скобках имеет значение
  • \E, по-видимому, говорит, что применить следующую команду
  • [01, кажется, относится к началу файла
  • ; кажется, указывают на начало предыдущего
  • 31 м, который, кажется, конец файла

Заявление все еще сбивает с толку. Какой-то шаблон должен соответствовать "начало" и "мигание".

Как вы читаете строку?

1 ответ

Это последовательность цветов ANSI.

  • $'...' означает интерпретацию символов с обратной косой чертой (например, \e или \n) (см. Раздел "Цитирование" на справочной странице bash)
  • \ E - escape-символ (десятичный код ASCII 27)
  • [это просто квадратная скобка
  • поэтому Esc-[начинается последовательность цветов
  • 01 "яркий"
  • ; разграничивает цвета
  • 31 "красный"
  • m - конец последовательности цветов

Последовательность Esc-[ 0 m сбрасывается к цветам по умолчанию.

Пытаться

 echo $'\E[01;31m'Hello$'\E[0m' Masi

Смотрите эту статью в Википедии для получения дополнительной информации.

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