背景
在需要维护多台服务器的情况下,切来切去,一会就不知道自己在哪台主机上了,如果能在终端显示IP,会有一种强烈的安全感。
设置后的模样:
console.png
提示符格式
PS1是Linux终端用户的一个环境变量,用来说明命令行提示符的设置。
PS1参数含义
\d :#代表日期,格式为weekday month date,例如:”Mon Aug 1”\H :#完整的主机名称\h :#仅取主机的第一个名字\T :#显示时间为24小时格式,如:HH:MM:SS\t :#显示时间为12小时格式 , 如:HH:MM:SS\A :#显示时间为12小时格式:HH:MM\u :#当前用户的账号名称\v :#BASH的版本信息\w :#完整的工作目录名称\W :#利用basename取得工作目录名称,所以只会列出最后一个目录# :#下达的第几个命令$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$
提示符颜色
PS1中设置字符颜色的格式为:[\e[F;Bm],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47
F B 30 40 黑色 31 41 红色 32 42 绿色 33 43 黄色 34 44 蓝色 35 45 紫红色 36 46 青蓝色 37 47 白色
设置主机名
假如没有主机名的情况下,设置下主机名,比如开发环境主机1
hostnamectl set-hostname dev1.localdomain
对所有用户生效
只需将下面命令中的~/.bashrc换为/etc/profile
单网卡
tee -a ~/.bashrc << 'EOF'IP=$(ip addr | grep -w "inet" | grep -v "127.0.0.1" | awk '{ print $2; }' | sed 's/\/.*$//')export PS1="[\u@\h(\[\e[32m\]$IP\[\e[m\]) \W]\\$"EOF
多网卡
多网卡的情况下,想显示哪个网卡的IP,将下面命令中的eth0换成对应的网卡名即可
tee -a ~/.bashrc << 'EOF'IP=$(ip addr show eth0 | grep -w "inet" | awk '{ print $2; }' | sed 's/\/.*$//')export PS1="[\u@\h(\[\e[32m\]$IP\[\e[m\]) \W]\\$"EOF
生效
source ~/.bashrc
作者:Hanson1330
链接:https://www.jianshu.com/p/92a0c55d8058