Как показать цветное имя хоста в приглашении в теме Powerline-Plain [Bash-it]?

Я хотел бы показать имя хоста в начале запроса в теме Powerline-Plain [Bash-it].

Что-то вроде: MYHOSTNAME root / var / www

Это выглядит по умолчанию: root / var / www

и я хотел бы назначить ему разные случайные и фиксированные цвета для каждого имени хоста.

3 ответа

Просто перезапишитеPOWERLINE_PROMPTпеременная в вашем.bashrcфайл и добавитьhostnameтак:

      export POWERLINE_PROMPT=${POWERLINE_PROMPT:="hostname user_info scm python_venv ruby node cwd"}

\h - это то, что вам нужно для отображения имени хоста в приглашении bash. Чтобы он отображался в определенном цвете, вам нужно обернуть эту часть в нужные вам цветовые коды. Таким образом, вы можете определить цвет RED, например, когда вы root.

USERCOLOR='\[\e[1m\]'
NORMCOLOR='\[\e[m\]'
# If I am root, set the prompt to bright red
if [ ${UID} -eq 0 ]; then USERCOLOR='\[\e[1;31;7;47m\]'; fi
PS1="[$USERCOLOR\h$NORMCOLOR]\\n\#-\\$> "

Как указано в документации Bash-it Powerline, вы можете использоватьhostname name, чтобы добавить имя хоста в приглашение Powerline:

Содержимое приглашения можно "переупорядочить", все "сегменты" (каждая часть информации) могут занимать любое место. В настоящее время доступны следующие сегменты:

  • aws_profile - Показать текущее значение переменной окружения AWS_PROFILE
  • battery - Информация о батарее (вам нужно включить плагин батареи)
  • clock - Текущее время в формате ЧЧ: ММ: СС
  • cwd - Текущий рабочий каталог, включая полную иерархию папок (cf wd)
  • hostname - Имя хоста машины
  • in_vim - Показать идентификатор при запуске: терминал из vim
  • k8s_context - Показать текущий контекст кубернетов
  • last_status - Статус выхода последней команды запуска
  • python_venv - Информация о виртуальной среде Python (поддерживается virtualenv, venv и conda)
  • ruby - Текущая версия ruby ​​при использовании rvm
  • node - Текущая версия узла (поддерживается только nvm)
  • scm - Информация для контроля версий, git
  • user_info - Текущий пользователь
  • wd - Рабочий каталог, как cwd, но не отображает полную иерархию папок, а только каталог, в котором вы сейчас находитесь.
  • shlvl - Показать текущий уровень оболочки (на основе переменной среды SHLVL), но только если вы не в корневой оболочке
  • dirstack - Показывать текущий уровень dirstack (на основе переменной среды DIRSTACK), но только если стек не пуст
  • history_number - Показать текущий номер истории
  • command_number - Показать текущий номер команды

Для установки порядка сегментов подсказки можно определить переменную:

POWERLINE_PROMPT="user_info scm python_venv ruby cwd"

Исходя из этого, вы можете добавить hostname сегмент к POWERLINE_PROMPT переменная (например, в вашем профиле Bash):

export POWERLINE_PROMPT="hostname user_info scm python_venv ruby cwd"

Это добавит имя хоста в качестве первой записи в приглашении.

В настоящее время в Bash нет возможности назначать случайный цвет сегментам подсказок.

Другие вопросы по тегам