`
rsljdkt
  • 浏览: 451727 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Bash 提示行色彩设置(PS1环境变量)

阅读更多

1. 说明:    

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

      user@host$

   root用户的提示是这样的:

      user$host#

 

2.  提示行的转义字符:

 

 序列         说明
\a            ASCII 响铃字符(也可以键入 \007) 
\d            "Wed Sep 06" 格式的日期  
\e            ASCII 转义字符(也可以键入 \033) 
\h            主机名的第一部分(如 "mybox") 
\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 小时制时间 
\u            用户名 
\v            bash 的版本(如 2.04) 
\V            Bash 版本(包括补丁级别)
\w            当前工作目录(如 "/home/drobbins") 
\W            当前工作目录的“基名 (basename)”(如 "drobbins") 
\!            当前命令在历史缓冲区中的位置 
\#            命令编号(只要您键入内容,它就会在每次提示时累加) 
\$            如果您不是超级用户 (root),则插入一个 "$";如果您是超级用户,则显示一个 "#"
\xxx            插入一个用三位数 xxx(用零代替未使用的数字,如 "\007")表示的 ASCII 字符
\\            反斜杠
\[            这个序列应该出现在不移动光标的字符序列(如颜色转义序列)之前。它使 bash 能够正确计算自动换行。 
\]            这个序列应该出现在非打印字符序列之后。 

 

 3. 颜色设置:

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

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

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

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

    特殊的颜色设置格式:

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

 

4. 颜色与代码表:

  颜色表:

 

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

 代码表:

 

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

 5. 最终设置:

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

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

 

c_1="\[\e[0m\]"
c0="\[\e[30m\]"
c1="\[\e[31m\]"
c2="\[\e[32m\]"
c3="\[\e[33m\]"
c4="\[\e[34m\]"
c5="\[\e[35m\]"
c6="\[\e[36m\]"
c7="\[\e[37m\]"
PS1="$c0***** $c1\w $c2*** $c3<\u@\h> $c4***** $c5\! $c6***** $c7\t $c1***\n$c2\$ $c_1";
export PS1

 参考:http://moosewoler.blog.163.com/blog/static/69866052007112201148505/

分享到:
评论

相关推荐

    bash-prompt-generator:通过设置PS1变量来自定义Bash提示

    重击提示生成器 为您的Bash创建一个自定义PS1变量。例结果也可以看看执照版权(C)2020 Scriptim 该程序是免费软件:您可以根据自由软件基金会发布的GNU通用公共许可证的条款(许可证的版本3)或(可选)任何更高...

    如何在 Linux 上运行命令前临时清空 Bash 环境变量

    我想临时清空 bash shell 环境变量。但我不想删除或者 unset 一个输出的环境变量。我怎样才能在 bash 或 ksh shell 的临时环境中运行程序呢?  你可以在 Linux 或类 Unix 系统中使用 env 命令设置并打印环境。env ...

    Linux 中环境变量设置.docx

    默认情况下,其他设置的一些环境变量,执行用户的 .bashrc 文件。  ~/.bashrc: 该文件包含专用于登陆用户的 bash shell 的 bash 信息,当登录时以及每次打开新的 shell 时,该该文件被读取。  ~/.bash_logout: 当...

    自定义添加linux系统java环境变量脚本及安装包

    各位小伙伴肯定都遇到过拿到一个linux环境发现没有java环境,又需要屁颠屁颠跑去找java安装包配置环境变量的问题吧? 本资源为二狗自己编写的快速定义java环境变量的脚本,可以帮助你剩下不少时间,操作前建议备份/...

    Bash特殊变量讲解

    Bash特殊变量讲解 一些bash的特殊变量,拿来作为参考还不错

    linux 系统变量 PS1的简介.docx

    PS1(是数字1而不是字母l),每个版本bash的PS1变量内的特殊符号可能有些小的差异,你可以先man bash 一下。文档是FC4环境下默认的特殊符号所代表的意义

    Shell基础Bash变量环境变量PPT教案.pptx

    Shell基础Bash变量环境变量PPT教案.pptx

    bash高级编程之变量篇

    非常不错的关于bash编程的高级变量方面的内容,比较详细。

    Linux中Bash环境变量的配置方法

    以下是几种shell版本,bash是默认的: sh(全称 Bourne Shell): 是UNIX最初使用的 shell,而且在每种 UNIX 上都可以使用。 Bourne Shell 在 shell 编程方面相当优秀,但在处理与用户的交互方面做得不如其他几种 ...

    解决 Mac和Idea 终端关闭后,环境变量失效,每次都需source ~/.bash_profile 问题

    最近使用mac系统后,每次在~/.bash_profile 配置了mvn 等环境变量后,使用 source后 环境变量生效,但是当终端退出后,环境变量就失效。 zsh: command not found: mvn mac 每次启动终端都会加载当前用户下的.zshrc...

    linux bash远程执行代码漏洞的补丁

    redhat bash漏洞补丁包含文件:bash-4.1.2-15.el6_5.2.i686.rpmbash-4.1.2-15.el6_5.2.x86_64.rpmbash-3.0-27.el4.i386.rpmbash-3.0-27.el4.x86_64.rpmbash-3.2-33.el5_11.4.i386.r... redhat bash漏洞补丁 包含文件...

    bash-prompt-vcs:在bash提示中显示git,Mercurial(hg)和Subversion(svn)工作树的状态作为环境信息

    Bash提示版本控制状态 在bash提示中显示 , 和工作树的状态作为环境信息。...您可以设置这些环境变量来控制提示的显示。 在包含bash-prompt-vcs.bash之后,可以随时在.bashrc中设置它们。 环境变量

    Linux Shell编程基础

    5.Bash中的变量 1. 环境变量 1.1HOME 2.2LANG 3.3SHELL 4.4PATH 5.5PS1 6.6PS2 7.7只读环境变量 8.8永久修改环境变量 2. 位置变量 3. 预定义变量 4. 自定义变量 1.1自定义变量的作用域 2.2将自定义变量转换为只读...

    CentOS中环境变量与配置文件的深入讲解

    bash shell用一个叫做 环境变量(environment variable) 的特性来存储有关shell会话和工作环境的信息。即允许在内存中存储数据,使得在程序或shell中运行的脚本能够访问它们。 在bash shell中,环境变量分为两类: ...

    bash-4.2源码

    gnu上下载的bash4.2交叉编译的时候提示execute_cmd.c 2205行某个变了没有定义。编译PC版本没有问题,是因为 交叉编译的时候关闭了 JOB_CONTROL选项。这个版本修改了此问题,可以用交叉编译。./configure CC=arm-none...

    修复bash漏洞的bash-4.4.tar.gz源码包

    linux 服务器GNU Bash小于版本4.3有操作系统命令注入漏洞,需要对bash升级,下载解压 ...添加环境变量 #echo‘ export PATH=/usr/local/bin:$PATH‘ &gt;&gt;/etc/profile #source /etc/profile 测试bash版本 #bash -version

    Mac 将mysql路径加入环境变量的方法

    会在TextEdit中打开这个文件(如果以前没有配置过环境变量,那么这应该是一个空白文档)。如果有内容,请在结束符前输入,如果没有内容,请直接输入如下语句: export PATH=${PATH}:/usr/local/mysql/bin 然后,保存...

    bash-4.3.27 for solaris

    2. 【漏洞简介】该漏洞源于你调用的bash shell之前创建的特殊的环境变量,这些变量可以包含代码,同时会被bash执行。 黑客可以远程执行命令,窃取服务器上的信息,并进一步控制服务器。 3. 【影响系统】 所有安装GNU...

    Linux下配置QT环境

     二、进入用户家目录的.bash_profile文件设置Qt环境变量,在这里我们以root用户以例。  #vi/root/.bash_profile//打开root用户.bash_profile文件  在root用户.bash_profile文件中设置环境变量,在此文件里面...

    如何在Linux中自定义bash命令提示符

    前言 众所周知, bash (the B ourne- A gain Sh ell)是目前...在 bash 中,我们可以通过更改 $PS1 环境变量的值来自定义 bash 命令提示符。 一般情况下,bash 命令提示符会是以下这样的形式: 在上图这种默认显示形

Global site tag (gtag.js) - Google Analytics