Bash之PS1配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Bash之PS1配置相关的知识,希望对你有一定的参考价值。

 

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

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

 

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

    [email protected]:~$
        // 其中~为用户主目录 

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

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

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

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

 

字体颜色的配置为:

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

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

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

 

其他功能数字有:

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

 

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

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

 

至此, 终端的配置结束。

 

以上是关于Bash之PS1配置的主要内容,如果未能解决你的问题,请参考以下文章

bash配色

linux环境下PS1变量配置

bash PS1配色

sh Bash PS1设置

npm : 无法加载文件 D:softcodeProcess ode ode_global pm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micr +(代码片段

bash PS1提示的三角形背景