Linux环境变量PS1配置

时间:2023-03-10 08:39:26
Linux环境变量PS1配置

1. 说明:

在Shell下,我们能够拥有更加色慘斑斓的提示行信息。这能够通过改变bash的$PS1环境变量还设置,如以下就是提示行的一种:

user@host$

root用户的提示是这种:

user$host#

2.  提示行的转义字符:

  1. 序列         说明
  2. \d            "Wed Sep 06" 格式的日期
  3. \h            主机名的第一部分(如 "mybox")
  4. \H            主机的全称(如 "mybox.mydomain.com")
  5. \j            在此shell中通过按 ^Z 挂起的进程数
  6. \l            此 shell 的终端设备名(如 "ttyp4")
  7. \n            换行符
  8. \r            回车符
  9. \s            shell 的名称(如 "bash")
  10. 小时制时间(如 "23:01:01")
  11. 小时制时间(如 "11:01:01")
  12. 小时制时间
  13. \u            username
  14. \v            bash 的版本号(如 2.04)
  15. \V            Bash 版本号(包含补丁级别)
  16. \w            当前工作文件夹(如 "/home/drobbins")
  17. \W            当前工作文件夹的“基名 (basename)”(如 "drobbins")
  18. \!            当前命令在历史缓冲区中的位置
  19. \#            命令编号(仅仅要您键入内容,它就会在每次提示时累加)
  20. \$            假设您不是超级用户 (root)。则插入一个 "$";假设您是超级用户。则显示一个 "#"
  21. \xxx            插入一个用三位数 xxx(用零取代未使用的数字,如 "\007")表示的 ASCII 字符
  22. \\            反斜杠
  23. \[            这个序列应该出如今不移动光标的字符序列(如颜色转义序列)之前。它使 bash 可以正确计算自己主动换行。
  24. \]            这个序列应该出如今非打印字符序列之后。

3. 颜色设置:

颜色设置可用下面格式表示:

" \[\e[F;B;Cm\]"

当中,\[与\]是保证其内的非打印字符不占用行上的不论什么空间。这样就能使自己主动换行后的颜色设置正常工作了;

\e[与m之间的内容表示设置颜色。F是前景色,B是背景色,C是代码多个颜色用分号隔开,但F、B、C顺序可变,这是由于他们的数值不冲突。

特殊的颜色设置格式:

"\e[0m"、"\e[m"都是通知终端将颜色(前景、背景、加粗)设置重置为默认。

4. 颜色与代码表:

颜色表:

  1. 前景          背景              颜色
  2. ---------------------------------------
  3. 40             黑色
  4. 41             紅色
  5. 42             绿色
  6. 43             黄色
  7. 44             蓝色
  8. 45             紫红色
  9. 46             青蓝色
  10. 47             白色

代码表:

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

5. 终于设置:

将PS1环境变量的设置放在.bashrc或.bash_profile中就可以。

以下是一种提示行的设置:

  1. c_1="\[\e[0m\]"
  2. c0="\[\e[30m\]"
  3. c1="\[\e[31m\]"
  4. c2="\[\e[32m\]"
  5. c3="\[\e[33m\]"
  6. c4="\[\e[34m\]"
  7. c5="\[\e[35m\]"
  8. c6="\[\e[36m\]"
  9. c7="\[\e[37m\]"
  10. PS1="$c0***** $c1\w $c2*** $c3<\u@\h> $c4***** $c5\! $c6***** $c7\t $c1***\n$c2\$ $c_1";
  11. export PS1