Bash之PS1配置

今天想调整以下PS1的显示,查看了很多文档后有些收获。Bash有可自定义的4类提示:

 PS1 在每个命令之前显示的主提示符,因此它是每个人都不同的。
 PS2 当一个命令需要更多的输入(例如,一个多行命令)中显示的辅助提示。
 PS3 不是很常用。
 PS4 也是不常用。

Bash中的命令行提示一般为PS1,即:(你可以在这里编辑自己喜欢的风格)

    username@hostname:~$
        // 其中'~'为用户主目录 

转换为转义字符表达式就是:

   PS1=‘\u@\h:\w\$’     
   \u 表示用户(username);
   \h 表示主机(hostname);
   \w 表示当前工作目录(directory);
   \$ 如果您不是超级用户 (非root),则插入一个 "$";如果您是超级用户(root),则显示一个 "#"。

以上是常见的,也是最有价值的信息。当然,还有其他的转义字符:     

 1 \[ 这个字符应该出现在不占位转义字符(如颜色转义字符)之前,它使bash能够正确计算自动换行;
 \] 这个字符应该出现在不占位转义字符(如颜色转义字符)之后;
 \e ASCII转义字符序列开始(也可以键入 \033);
 \a ASCII响铃字符(也可以键入 \007);
 \d "Wed Sep 06"格式的日期;
 \H 主机的全称(如 "mybox.mydomain.com");
 \j 在此shell中通过按 ^Z挂起的进程数;
 \l 此shell的终端设备名 (如"ttyp4");
 \n 换行符;
 \r 回车符;
 \s shell的名称(如 "bash");
 \t 24小时制时间(如 "23:01:01");
 \T 12小时制时间(如 "11:01:01");
 \@ 带有 am/pm的 12小时制时间;
 \v bash的版本(如 2.04);
 \V Bash版本(包括补丁级别) ?/td>;
 \W 当前工作目录的“基名 (basename)”(如 "drobbins");
 \! 当前命令在历史缓冲区中的位置;
 \# 命令编号(只要您键入内容,它就会在每次提示时累加);
 \xxx 插 入一个用三位数 xxx(用零代替未使用的数字,如 "/007")表示的 ASCII 字符;
 \\ 反斜 杠。 

字体颜色的配置为:

 30m==黑色;    31m==红色;    32m==绿色;    33m==黄色;
 34m==蓝色;    35m==洋红;    36m==青色;    37m==白色。

如果想配置背景色,只需要每种颜色数字加10即:

 40m==黑色;    41m==红色;    42m==绿色;    43m==黄色;
 44m==蓝色;    45m==洋红 ;   46m==青色;    47m==白色。

其他功能数字有:

  0==OFF
  1==高亮显示(我使用的就是高亮)
  4==underline
  5==闪烁
  7==反白显示
  8==不可见

在用户主目录中,存在 .bashrc(注意前置点) 配置文件,其中有对PS1的配置表达式。这是我在 Debian-8.3中修改后的结果:

   PS1='\[\033[1;35m\]\u@\h:\[\033[1;33m\]\w\[\033[1;35m\]\$'
     // 为了便于理解,有一部分无关项被我去掉了
     设置用户名(\u)为高亮(),洋红(35m);
     因为没设置主机名(\h),它继承了用户名的设置;
     然后设置目录(\w)为高亮(),黄色(33m);
     最后将$又改回高亮和洋红。

至此, 终端的配置结束。

上一篇:[SQL in Azure] Getting Started with SQL Server in Azure Virtual Machines


下一篇:蓝桥杯 算法训练 区间k大数查询(水题)