在bash shell脚本中我们可以使用ASCII颜色来显示文本信息。

格式:\033\[31m hello \033[0m

  ##m:

    左侧#:这个#可以是3或者4,作用不一样。

      3:前景色

      4:背景色

    右侧#:颜色种类

      1,2,3,4,5,6,7

    前景和背景同时使用:\033[##;##m hello \033[0m

  #m:

    加粗、闪烁等功能。

  多种控制符,可组合使用,彼此间使用分号隔开。

演示:

演示背景色

前景和背景同时使用

加粗、闪烁功能

实战演练:

给自己的Linux的PS1变量添加上颜色,比如:

1、首先是我们要给自己的PS1要显示的颜色部分添加值。

 export PS1='[\033[31m\u\033[0m@\033[32m\h\033[0m \033[35m\W\033[0m]\$'

这样子设置真的很不错,达到了我们的需求,但是他是有问题的,就是比如当你在输入很长的字符串之后,你会发现bash不能自动换行显示,而是覆盖同一行的开头的部分,慢慢的往后覆盖掉一开始输入的内容,这是很不乐观的,否则当我们输入过长的内容时,显示内容是个问题怎么行呢?

初步判断是加上了颜色代码才出现这样的问题,这可能是在PS1环境变量中,颜色代码不适合直接添加至PS1中,所以我们需要进行改正,就是每个颜色代码后都加上 \[ 和 \] 。

例如:

export PS1='[\[\033[31m\]\u\[\033[0m\]@\[\033[32m\]\h\[\033[0m\] \[\033[35m\]\W\[\033[0m\]]\$'

可以看出有多少个颜色代码就要加上多少个  \[  和  \] 才行。这样子设置好之后,这个毛病就没有了,我们继续可以愉快的在终端输入长命令了。

shell脚本之颜色效果显示以及PS1颜色实战的更多相关文章

  1. shell脚本中使用echo显示带颜色的内容

    shell脚本中使用echo显示带颜色的内容,需要使用参数-e 格式如下: echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 例如: echo -e &qu ...

  2. Android代码中设置字体大小,字体颜色,显示两种颜色.倒计时效果

    Android代码中设置字体大小,字体颜色,显示两种颜色 在xml文件中字体大小用的像素 <TextView android:id="@+id/uppaid_time" an ...

  3. Linux:shell脚本字符显示特殊颜色效果

    shell脚本字符显示颜色和特殊效果 (一) 颜色显示 1)字符颜色显示 #!/bin/bash #字符颜色显示 #-e:允许echo使用转义 #\[:开始位 #\[0m:结束位 #\033等同于\e ...

  4. Linux编程 20 shell编程(shell脚本创建,echo显示信息)

    一概述 前面19章里已经掌握了linux系统和命令行的基础知识,从本章开始继续学习shell脚本的基础知识.在大量编辑shell脚本前,先来学习下一些基本概念. 1.1    使用多个命令 Shell ...

  5. history 查看历史操作记录在shell脚本执行中无法显示问题

    今天使用shell脚本想查看历史操作命令的记录于是写了一个再简单不过的脚本,可是以chmod +x 权限执行./test.sh发现执行后没有任何反应.于是查找原因:将脚本文件中的#!/bin/bash ...

  6. Shell脚本关于屏幕输出的字符进行颜色控制的问题

    文本终端的颜色可以使用“ANSI非常规字符序列”来生成.举例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置背景成为蓝色,前景白色, ...

  7. 常用shell脚本命令

    常用shell脚本命令 1.显示包含文字aaa的下一行的内容: sed -n '/aaa/{n;p;}' filename 2.删除当前行与下一行的内容: sed -i '/aaa/{N;d;}' f ...

  8. 【转】shell脚本中echo显示内容带颜色

    shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e.格式如下:   echo -e "\033[41;36m something here \033[0m&qu ...

  9. shell脚本中echo显示内容带颜色

    转自:http://www.cnblogs.com/lr-ting/archive/2013/02/28/2936792.html shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要 ...

随机推荐

  1. SpringBoot初体验及原理解析

    一.前言 ​ 上篇文章,我们聊到了SpringBoot得以实现的幕后推手,这次我们来用SpringBoot开始HelloWorld之旅.SpringBoot是Spring框架对“约定大于配置(Conv ...

  2. salesforce零基础学习(九十)项目中的零碎知识点小总结(三)

    本次的内容其实大部分人都遇到过,也知道解决方案.但是因为没有牢记于心,导致问题再次出现还是花费了一点时间去排查了原因.在此记录下来,好记性不如烂笔头,争取下次发现类似的现象可以直接就知道原因.废话少说 ...

  3. 第一篇:SpringBoot2.0简单介绍

    距离Spring Boot1.0发布已经4年了,今年3月份SpringBoot2.0正式发布.让我们一起来了解一下它. Spring Boot主要依赖于Spring,整合了很多框架的使用方式,帮助开发 ...

  4. Java并发编程笔记之CopyOnWriteArrayList源码分析

    并发包中并发List只有CopyOnWriteArrayList这一个,CopyOnWriteArrayList是一个线程安全的ArrayList,对其进行修改操作和元素迭代操作都是在底层创建一个拷贝 ...

  5. Maven教程(2)--Maven的配置,MyEclipse与Eclipse的配置

    1.修改Maven的 repository的路径 2.找到mirrors 使用阿里云镜像 <mirror> <id>alimaven</id> <name&g ...

  6. SpringMVC教程3

    SpringMVC教程2 一.文件上传 1.引入相关jar包 maven坐标 <!-- fileUpload 解析上传的文件用到的jar --> <dependency> &l ...

  7. MySQL基准测试(二)--方法

    MySQL基准测试(二)--方法 目的: 方法不是越高级越好.而应该善于做减法.至简是一种智慧,首先要做的是收集MySQL的各状态数据.收集到了,不管各个时间段出现的问题,至少你手上有第一时间的状态数 ...

  8. Layui 获取 radio的值

    var OutInvoiceType = $('#OutInvoiceType input[checked]').val();   就可以获取到了.

  9. CentOS 7 安装 .Net Core 2.0 详细步骤

    轰轰烈烈的Core 热潮,从部署环境开始.参照了网上不少前辈的教程,也遇到不少的坑,这边做个完整的笔记. 一.构建.Net core 2的应用程web发布,因为是用来测试centos上的core 环境 ...

  10. 如何获得刚刚插入数据的id

    create table tblInsert ( id ,) primary key, name ) ); insert into tblInsert(name) values('张三'); sele ...