linux提示符设置

查看当前PS1

echo PS1

测试方法: 

-e 允许对下面列出的加反斜线转义的字符进行解释.

echo -e "\033[41;36m something here \033[0m" 

使用方法:
    # PS1='自定义内容'
    注意两边的单引号
    示例: PS1='(\u@\H \d \t)\$'

默认的特殊符号所代表的意义:
    \d :代表日期,格式为weekday month date,例如:"Mon Aug 1"
    \H :完整的主机名称。例如:我的机器名称为:fc4. linux,则这个名称就是fc4. linux
    \h :仅取主机的第一个名字,如上例,则为fc4,.linux则被省略
    \t :显示时间为24小时格式,如:HH:MM:SS
    \T :显示时间为12小时格式
    \A :显示时间为24小时格式:HH:MM
    \u :当前用户的账号名称
    \v :BASH的版本信息
    \w :完整的工作目录名称。家目录会以 ~代替
    \W :利用basename取得工作目录名称,所以只会列出最后一个目录
    \# :下达的第几个命令
    \$ :提示字符,如果是root时,提示符为:# ,普通用户则为:$

颜色的设置

  PS1中配置字符序列颜色的格式:  \[\e[F;Bm\]

  基本上是夹在 "\e["(转义开方括号)和 "m" 之间数字值。假如指定一个以上的数字代码,则用分号将他们分开。其中 F 为字体颜色,编号30~37; B 为背景色,编号40~47。可通过 \e[0m 关闭颜色输出;特别的,当B为1时,将显示加亮加粗的文字,请看下面的颜色表和代码表。可通过``\e[0m''关闭颜色输出;

同一色可以设置多个但,只有最后一个生效:[01;30;34m\]时,前景色为34生效
'\[\033[01;30;34m\]\W\[\033[00m\]' == '\[\e[01;30;34m\]\W\[\e[00m\]'

颜色表


    前景 背景 颜色
    ---------------------------------------
    30 40 黑色
    31 41 红色
    32 42 绿色
    33 43 黄色
    34 44 蓝色
    35 45 紫色
    36 46 青色
    37 47 白色

    代码 意义
    -------------------------
    0 OFF
    1 高亮显示
    4 underline
    5 闪烁
    7 反白显示
    8 不可见

例子

扫描二维码关注公众号,回复: 13309771 查看本文章

\033与\e是同义

netdev=ens33
IP=$(ip addr show $netdev | grep -w "inet" | awk '{ print $2; }' | sed 's/\/.*$//')
psuser='\[\e[01;31m\]\u\[\e[00m\]' #用户名
psip='\[\e[01;32m\]$IP\[\e[00m\]'  #本机IP
#pstime='(\[\e[01;33m\]\t\[\e[00m\]):' #时间使用"()",如果要加符号分隔其它加到表达式的前后. \[\e[F;Bm\]
pstime='[\[\e[01;33m\]\t\[\e[00m\]]:' #时间使用"[]"
psdir='\[\e[01;34m\]\W\[\e[00m\]'
psend='\$ '  

function git_branch {
  branch="`git branch 2>/dev/null | grep "^\*" | sed -e "s/^\*\ //"`"
  if [ "${branch}" != "" ];then
      if [ "${branch}" = "(no branch)" ];then
          branch="(`git rev-parse --short HEAD`...)"
      fi
      echo "($branch)"
  fi
}

psgit='\[\e[01;31m\]$(git_branch)\[\e[00m\]' #调用函数使用()

PS1=${psuser}@${psip}${pstime}${psdir}
PS1="$PS1"${psgit}
PS1="$PS1"${psend}

猜你喜欢

转载自blog.csdn.net/yuanlin1318/article/details/120545136