PS1 256 удара окрашивает с полужирным

Так как это все процессы ядра, они не присоединены к TTY (следовательно ? значение в TTY поле).

3
02.10.2013, 13:13
2 ответа

Можно записать это как любой из тех:

echo -e "\e[1;38;05;${code}m $code: Test"
echo -e "\e[1m\e[38;05;${code}m $code: Test";
echo -e "\e[38;05;${code}m\e[1m $code: Test";
echo -e "\e[38;05;${code};1m $code: Test";
tput bold; tput setaf "$code" # provided the terminfo database is
                              # properly populated

Можно работать tput bold только когда-то, если Вы не сбрасываете полужирность с a tput sgr0 или \e[m или \e[0m.

3
27.01.2020, 21:16

Для добавления примера Stephane вот, быстрая функция оболочки для списка всех 256 цветов:

#!/bin/bash
esc=$'\033'
for row in {0..15} ; 
do
    rowtext=
    for col in {0..15}; 
    do
        color=$(( $row * 16 + $col))
        BG="${esc}[48;5;${color}m"
        rowtext=${rowtext}$BG\ 
        if [[ $color -lt 100 ]]; then rowtext=${rowtext}$BG\   ;fi 
        if [[ $color -lt 10 ]]; then rowtext=${rowtext}$BG\   ;fi 
        rowtext=${rowtext}$BG${color}
        rowtext=${rowtext}$BG\ 
    done
    echo "${rowtext}${esc}[00m "
done

Это - быстрый "порт" функции zsh, которую я должен колотить. Я, кажется, работаю (в ударе), или по крайней мере достаточно хорошо.

Число цветового кода отображено в цветовом блоке. Это - то, что Вы использовали бы в своей подсказке или в другом месте выбирать цвет.

2
27.01.2020, 21:16
  • 1
    Некоторые символы ESC, кажется, теряются во время вставки копии. –  manatwork 02.10.2013, 17:07
  • 2
    символ ESC в начале BG потерянный. Необходимо использовать escape-последовательности вместо этого для предотвращения этого вида неудачи. Вы не можете использовать $BG[0] в ударе необходимо записать это ${BG:0:1} (для массива это было бы ${array[0]}). –  Gilles 'SO- stop being evil' 03.10.2013, 00:48

Теги

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