4

Можно ли использовать настоящие цвета в приглашении bash? Я использую iTerm2 на MacOS, который поддерживает настоящие цвета. Но не уверен, как я использую истинные цвета для моей подсказки bash.

В данный момент я использую tput af <number> в приглашении bash для получения цветов.

1 ответ1

1

Это представляется возможным. например:

export PS1="\[$(printf "\x1b[48;2;15;100;50m\]A nice dark green [rgb(15,100,50)]:\[\x1b[0m")\] "

export PS1="\[$(printf "\x1b[38;2;255;100;250m\]A lovely shade of pink [rgb(255,100,250)]:\[\x1b[0m")\] "

Возможно, есть более хороший способ, чем обращение к $(printf ...). Я надеюсь, что есть, но я этого не знаю. Ключ заключается в том, чтобы обернуть все «мета» (но не фактический контент) в \[ и \] чтобы оболочка не считала его как часть длины приглашения, чтобы он хорошо воспроизводился при перерисовке (например, при циклическом цикле). через историю.)

Последние три числа в каждом \x1b[...m представляют желаемые значения красного, зеленого и синего (от 0 до 255).

Первое число устанавливает фон (48) или передний план (38). Я не знаю, что делает другое число, но игра с этим добавлением дополнительного \x1b[38;4m кажется, подчеркивает текст.

Возможно, вы сможете почерпнуть больше из этой суть: https://gist.github.com/XVilka/8346728

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .