Linux 修改命令行格式和颜色 🎨

示例图片:

修改步骤:

1 cd
2 ls -la
3 vim .bashrc 
4 加入以下代码:
  # SET PS1
  export PS1="\[\e[31m\]\u\[\e[m\]\[\e[37m\]@\[\e[m\]\[\e[32m\]\h\[\e[m\]\[\e[32m\](`getip eth0`)\[\e[m\]\[\e[37m\]:\[\e[m\]\[\e[33m\][\w]\[\e[m\]\[\e[35m\]\n\\$ \[\e[0m\]"
5 source .bashrc

关于代码中 (`getip eth0`)

1 cd /usr/local/bin
2 vim getip
3 加入以下代码
  #!/bin/bash
  export LANG=en_US
  #ifconfig $1 | sed -n '0,/^\s\+inet addr:\([0-9]\+[.][0-9]\+[.][0-9]\+[.][0-9]\+\).*$/s//\1/p'
  busybox ifconfig $1 | sed -e '/.*inet addr:/!d;s///;s/ .*//'
4 chmod 755 getip

备注:如果没有 busybox,可以尝试用 ifconfig,其实也可以在 PS1 中写固定的 IP 地址

颜色对照表
在 PS1 中设置字符颜色的格式为:[\e[F;Bm]……..[\e[0m],其中“F“为字体颜色,编号为 30-37,“B”为背景颜色,编号为 40-47,[\e[0m] 作为颜色设定的结束。
  颜色对照表:
    F B
    30 40 黑色
    31 41 红色
    32 42 绿色
    33 43 黄色
    34 44 蓝色
    35 45 紫红色
    36 46 青蓝色
    37 47 白色
只需将对应数字套入设置格式中即可。
比如要设置命令行的格式为绿字黑底 ([\e[32;40m]),显示当前用户的账号名称 (\u)、主机的第一个名字 (\h)、完整的当前工作目录名称 (\w)、24 小时格式时间 (\t),可以直接在命令行键入如下命令:

# PS1='[\[\e[32;40m\]\u@\h \w \t]$ \[\e[0m\]'

绿 u@黄 ip 蓝 ~

# SET PS1
export PS1="\[\e[37;40m\][\[\e[32;40m\]\u\[\e[37;40m\]@\e[33;40m118.24.24.197 \[\e[36;40m\]\w\[\e[0m\]]\\$ "