今天想调整以下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);
     最后将$又改回高亮和洋红。

至此, 终端的配置结束。

Bash之PS1配置的更多相关文章

  1. Linux环境变量PS1配置

    1. 说明: 在Shell下,我们能够拥有更加色慘斑斓的提示行信息.这能够通过改变bash的$PS1环境变量还设置,如以下就是提示行的一种: user@host$ root用户的提示是这种: user ...

  2. 转载:(Mac)在bash和zsh配置环境变量path的几种方法

    参考文献 老习惯,列出本文参考或引用或转载的文档和博客,致以崇高的敬意,感兴趣的可以去看看 1.http://postgresapp.com/ 2.http://postgresapp.com/doc ...

  3. bash 的相关配置

    bash 参数自动补全 请安装 bash-completion bash 提示符 说明:参考文档 1. 简洁风格 if [[ ${EUID} == 0 ]] ; then PS1='\[\033[01 ...

  4. centos7 安装jdk8 bash脚本 并配置环境变量

    #!/bin/bash #安装java脚本 if type -p java; then echo 'java已安装.' exit else echo '开始安装java...' wget --no-c ...

  5. Bash Shell启动配置脚本的顺序

    1.Bash检查环境变量文件的方式,取决于系统运行Shell的方式,通常系统运行Shell有3种方式: )通过系统用户登陆后默认运行的Shell )非登陆交互式运行Shell )执行脚本运行非交互式S ...

  6. ssh以bash登录的配置

    因ssh登录时不会加载.bashrc而是加载.bash_profile,所以以ssh的默认登录不会是bash,只要在.bash_profile中添加以下代码即可: if [ -f ~/.bashrc ...

  7. linux系统配置之bash shell的配置(centos)

    linux系统开机启动过程的最后阶段会由init进程根据启动方案(运行级:0-6)启动许多基本的服务程序,为用户提供各种各样的服务.在启动这些服务的最后会启动一个为用户提供操作环境的服务,用户就是通过 ...

  8. Golang bash alias 自动配置GOPATH并运行项目

     BASH代码: source ~/.bash_profile; export GOPATH=$GOPATH:`cd ..; pwd`; echo -e "* GOPATH: $GOPATH ...

  9. bash 环境配置及脚本

    bash是 Bourne Again Shell简称 ,从unix系统的sh发展而来 查看当前shellecho $SHELL查看系统支持的shellcat /etc/shells cd /binls ...

随机推荐

  1. position属性的四个value

    As we all know, position属性有四个值,分别为 relative,fixed,absolute, static. 1,relative相对定位 (不会脱离文档流) 在一个相对定位 ...

  2. docker 源码分析 三(基于1.8.2版本),NewDaemon启动

    本文来分析一下New Daemon的启动过程:在daemon/daemon.go文件中: func NewDaemon(config *Config, registryService *registr ...

  3. MFC 屏幕截图方法

    //获取当前屏幕的并且保存图片 LRESULT CFeetScanView::SaveViewBMP(WPARAM wParam, LPARAM lParam) { CRect rect; this- ...

  4. nexus7 一代 手动刷4.4.4

    跟上一篇类似,但是中间出了点问题,提示说command write 出错,最后解决方法是电脑上换了个usb口插入....

  5. JAVA 入门编程

    1.输入以及输出 当通过new Scanner(System.in)创建一个Scanner,控制台会一直等待输入,直到敲回车键结束,把所输入的内容传给Scanner,作为扫描对象.如果要获取输入的内容 ...

  6. NOIP 赛前模拟记录

    8.11 T1 给定一个序列M,求出能过构造出的序列使得(Si+Si+1)/2=Mi成立的序列个数.保证M,S递增. T2 平面点集中最大的四边形面积 T3 不太懂得一道国家队选拔的加强版. 90+2 ...

  7. codeforces 732E(贪心)

    题目链接:http://codeforces.com/contest/732/problem/E 题意:有n台计算机,m个插座,每台计算机有一个值a[i],每个插座有一个值b[i],每个插座最多只能对 ...

  8. codeforces 341d (树状数组)

    problem Iahub and Xors 题目大意 一个n*n的矩阵,要求支持两种操作. 操作1:将一个子矩阵的所有值异或某个数. 操作2:询问某个子矩阵的所以值的异或和. 解题分析 由于异或的特 ...

  9. 探究toString()和valueOf()

    1.用法如下:toString()方法:返回对象的字符串表示. 对象 操作 Array 将 Array 的元素转换为字符串.结果字符串由逗号分隔,且连接起来. Boolean 如果 Boolean 值 ...

  10. Azure自动化实例: 复制blog用于备份

    在Azure 自动化:使用PowerShell Credential连接到Azure, 之后, 我在项目中遇到了实现blog备份的任务, 现将其作为一个实例写下来: 1. 首先,创建自动化帐户, 在资 ...