Как показать цветное имя хоста в приглашении в теме Powerline-Plain [Bash-it]?
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_PROFILEbattery
- Информация о батарее (вам нужно включить плагин батареи)clock
- Текущее время в формате ЧЧ: ММ: ССcwd
- Текущий рабочий каталог, включая полную иерархию папок (cf wd)hostname
- Имя хоста машиныin_vim
- Показать идентификатор при запуске: терминал из vimk8s_context
- Показать текущий контекст кубернетовlast_status
- Статус выхода последней команды запускаpython_venv
- Информация о виртуальной среде Python (поддерживается virtualenv, venv и conda)ruby
- Текущая версия ruby при использовании rvmnode
- Текущая версия узла (поддерживается только nvm)scm
- Информация для контроля версий, gituser_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 нет возможности назначать случайный цвет сегментам подсказок.