提问人:KaMZaTa 提问时间:7/30/2017 更新时间:10/4/2022 访问量:2034
如何在 Powerline-Plain [Bash-it] 主题的提示符上显示彩色主机名?
How can I show colored hostname on the prompt in Powerline-Plain [Bash-it] theme?
问:
我想在 Powerline-Plain [Bash-it] 主题的提示开头显示主机名。
类似于:MYHOSTNAME root /var/www
我想为每个不同的主机名分配不同的随机和固定颜色。
答:
0赞
Drasz
1/12/2018
#1
\h 是在 bash 提示符中显示主机名所需的内容。为了使它以某种颜色显示,您需要将该部分包裹在您喜欢的颜色代码中。例如,像这样,您可以在 root 时定义颜色 RED。
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\#-\\$> "
-1赞
nwinkler
1/6/2020
#2
如 Bash-it Powerline 文档中所述,可以使用该名称将主机名添加到 Powerline 提示符:hostname
提示的内容可以“重新排序”,所有“段”(每条信息)都可以占据任何位置。目前可用的细分市场有:
aws_profile
- 显示AWS_PROFILE环境变量的当前值battery
- 电池信息(您需要启用电池插件)clock
- 当前时间,采用 HH:MM:SS 格式cwd
- 当前工作目录,包括完整的文件夹层次结构 (c.f. wd)hostname
- 计算机的主机名in_vim
- 如果从 vim 在 :terminal 中运行,则显示标识符k8s_context
- 显示当前的 kubernetes 上下文last_status
- 上次运行命令的退出状态python_venv
- Python 虚拟环境信息(支持 virtualenv、venv 和 conda)ruby
- 当前 ruby 版本(如果使用 rvm)node
- 当前节点版本(仅支持 nvm)scm
- 版本控制信息,gituser_info
- 当前用户wd
- 工作目录,类似于 cwd,但不显示完整的文件夹层次结构,只显示您当前所在的目录。shlvl
- 显示当前 shell 级别(基于 SHLVL 环境变量),但前提是您不在 root shell 中dirstack
- 显示当前目录堆栈级别(基于 DIRSTACK 环境变量),但前提是堆栈不为空history_number
- 显示当前历史记录command_number
- 显示当前命令编号可以定义一个变量来设置提示段的顺序:
POWERLINE_PROMPT="user_info scm python_venv ruby cwd"
基于此,您可以将段添加到变量中(例如,在您的 Bash 配置文件中):hostname
POWERLINE_PROMPT
export POWERLINE_PROMPT="hostname user_info scm python_venv ruby cwd"
这会将主机名添加为提示中的第一个条目。
Bash-it 中目前没有为提示片段分配随机颜色的功能。
0赞
KaMZaTa
10/4/2022
#3
只需覆盖文件中的变量并添加如下内容:POWERLINE_PROMPT
.bashrc
hostname
export POWERLINE_PROMPT=${POWERLINE_PROMPT:="hostname user_info scm python_venv ruby node cwd"}
评论