2015-09-07 4 views
9

Я пытаюсь получить треугольный фон для подсказки PSX bash. as shown hereТреугольный фон для bash PS1 prompt

Я пробовал существующую библиотеку под названием powerline, но она кажется тяжелой для моего стареющего ноутбука. Мне удалось получить фоновый цвет, но я не знаю, как получить форму. В настоящее время у меня есть: my PS1.

Есть ли прямой способ иметь такую ​​форму?

Я использую:

$ echo $TERM 
xterm-256color 
$ echo $SHELL 
/bin/bash 
$ bash --version 
GNU bash, version 4.3.42(1)-release (x86_64-redhat-linux-gnu) 
+1

Вы используете один из [исправленных шрифтов] (https://github.com/powerline/fonts) для powerline? – chepner

+0

Я не использую powerline – BaRud

+2

Треугольники - AFAIK, только специальные символы, входящие в эти шрифты. – chepner

ответ

4

Вы должны иметь Powerline заплата шрифты. Get them here

И вам необходимо настроить терминал для их использования. (Это OFC зависит от вашего терминала, но, вероятно, что-то вроде настройки -> внешний вид -> Шрифты)

Я сделал что-то подобное, если вы хотите: prompt.bash начальную точку Вы можете попробовать его, запустив . prompt.bash.

В основном все, что вам нужно, если шрифты установлены и включены, это $'\uE0B0' где-то в вашем PS1. Это код utf8 для фантазийного треугольника. Предполагая, что вы используете последнюю версию bash с некоторым utf8 как locale, это должно сделать это. Попробуйте echo -e $'\uE0B0' в вашем терминале, чтобы проверить его.

+0

Я установил эти шрифты и подтвердил, что 'echo -e $ 'uE0B0'' работает по назначению. Но не в моем PS1 'PS1 =" [\ u @ \ h $ '\ uE0B0' \ W] \ $ "' – BaRud

+0

ах, мой плохой. Вы должны сначала оценить его. Например, назначив сначала: triangle = $ '\ uE0B0', а затем используйте $ triangle в вашем PS1. Там может быть более элегантный способ, но это то, что я сделал. – brujoand

+0

А ... спасибо .... его здорово. – BaRud

Смежные вопросы