Я видел красивую подсказку Bash здесь

PS1="\n\[\e[30;1m\]\[\016\]l\[\017\](\[\e[34;1m\]\u@\h\[\e[30;1m\])-(\[\e[34;1m\]\j\[\e[30;1m\])-(\[\e[34;1m\]\@ \d\[\e[30;1m\])->\[\e[30;1m\]\n\[\016\]m\[\017\]-(\[\[\e[32;1m\]\w\[\e[30;1m\])-(\[\e[32;1m\]\$(/bin/ls -1 | /usr/bin/wc -l | /bin/sed 's: ::g') files, \$(/bin/ls -lah | /bin/grep -m 1 total | /bin/sed 's/total //')b\[\e[30;1m\])--> \[\e[0m\]"

Это должно выглядеть так:

пример

После того, как я добавил в свой .bashrc , я обнаружил, что \[\016\]l\[\017\] и \[\016\]m\[\017\] не исправлены в моем терминале (для обоих gnome-terminal и konsole)Моя подсказка1

Я обнаружил, что он работает нормально, нажав Ctrl+Alt+F1.

Как я могу заставить \[\016\]l\[\017\] и \[\016\]m\[\017\] работать в моем x-терминале?


Мое расследование и окружающая среда:

  • 016 в ASCII являются: SO (shift out) и SI (shift in)
  • Моя среда: Ubuntu 14.04

1 ответ1

1

Bashish тема Howto говорит Shift Out "вызывает G1 (альтернативный) набор символов". Я не уверен, но кажется, что ваш терминал либо не поддерживает это, либо шрифт, который вы используете, не имеет альтернативного набора символов.

Об «альтернативном наборе символов с выравниванием строк» есть гораздо больше деталей об этой, казалось бы, довольно сложной проблеме.

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