Реверс консоли Linux имеет низкую контрастность

Ваша интерактивная оболочка bash или что-то совершенно другое? echo общеизвестно непереносимо в отношении того, как он обрабатывает специальные символы, такие как \t. В bash обычное echo не расширяет их, но, например. зш, кажется.

$ zsh  -c 'echo "foo\tbar"'
foo     bar
$ bash -c 'echo "foo\tbar"'
foo\tbar

Bash echo -e и zsh echo -E инвертируют вышеописанное поведение.

Кроме того, вы, вероятно, захотите поместить эти переменные в кавычки:

#/bin/bash
echo -e "$name\t$pftot\t$etc..."

Конечно, переносимым решением будет printf:

printf "%s\t%s\t%s..." "$name" "$pftot" "$..."

Но нетрудно понять, почему вместо этого можно было бы использовать echo.

0
08.05.2017, 23:53
2 ответа

Похоже, программа пытается использовать режимы «жирный» + «обратный», а не просто обратный. Это приводит к «темно-серому» на «светло-сером»

.

Не имея возможности изменить то, что использует программа, вы можете изменить сами цвета. Темно-серый — это #8, тогда как светло-серый — это #7 (черный — это 0, а белый — это 15 (F ), но вам не нужно их менять )Консоль Linux имеет escape-код ESC ] P n rrggbbдля переопределения цветов, чтобы вы могли определить их, например, printf ']033]P7cccccc\033]P8333333'определить для них цвета, которые будут иметь больший контраст друг с другом, но все же будут отличаться от черного и белого, чтобы «жирный» и не -«жирный» текст можно было отличить друг от друга. Вы можете поэкспериментировать с разными значениями. Ваше изображение имеет 808080 и cccccc, предполагаемые значения по умолчанию (, которые, я думаю, могут не устанавливаться при запуске, но сбрасываются с помощьюESC ] R)в Linux: 555555 и аааааа.

2
28.01.2020, 02:19

Основная проблема заключается в том, что "белый " Передний план выглядит как серый, потому что чисто белый цвет, который вы хотите, является жирным цветом. Но использование шрифтов с 512 глифами, как это сделано для Unicode, делает жирные цвета недоступными.

Дополнительная литература:

2
28.01.2020, 02:19

Теги

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