shell脚本之颜色效果显示以及PS1颜色实战
在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颜色实战的更多相关文章
- shell脚本中使用echo显示带颜色的内容
shell脚本中使用echo显示带颜色的内容,需要使用参数-e 格式如下: echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 例如: echo -e &qu ...
- Android代码中设置字体大小,字体颜色,显示两种颜色.倒计时效果
Android代码中设置字体大小,字体颜色,显示两种颜色 在xml文件中字体大小用的像素 <TextView android:id="@+id/uppaid_time" an ...
- Linux:shell脚本字符显示特殊颜色效果
shell脚本字符显示颜色和特殊效果 (一) 颜色显示 1)字符颜色显示 #!/bin/bash #字符颜色显示 #-e:允许echo使用转义 #\[:开始位 #\[0m:结束位 #\033等同于\e ...
- Linux编程 20 shell编程(shell脚本创建,echo显示信息)
一概述 前面19章里已经掌握了linux系统和命令行的基础知识,从本章开始继续学习shell脚本的基础知识.在大量编辑shell脚本前,先来学习下一些基本概念. 1.1 使用多个命令 Shell ...
- history 查看历史操作记录在shell脚本执行中无法显示问题
今天使用shell脚本想查看历史操作命令的记录于是写了一个再简单不过的脚本,可是以chmod +x 权限执行./test.sh发现执行后没有任何反应.于是查找原因:将脚本文件中的#!/bin/bash ...
- Shell脚本关于屏幕输出的字符进行颜色控制的问题
文本终端的颜色可以使用“ANSI非常规字符序列”来生成.举例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置背景成为蓝色,前景白色, ...
- 常用shell脚本命令
常用shell脚本命令 1.显示包含文字aaa的下一行的内容: sed -n '/aaa/{n;p;}' filename 2.删除当前行与下一行的内容: sed -i '/aaa/{N;d;}' f ...
- 【转】shell脚本中echo显示内容带颜色
shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e.格式如下: echo -e "\033[41;36m something here \033[0m&qu ...
- shell脚本中echo显示内容带颜色
转自:http://www.cnblogs.com/lr-ting/archive/2013/02/28/2936792.html shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要 ...
随机推荐
- TCP/IP 笔记 - TCP连接管理
TCP是一种面向连接的单播协议,在发送数据之前,通信双方必须在彼此建立一条连接:这与UDP的无连接不同,UDP无需通信双方发送数据之前建立连接.所有TCP需要处理多种TCP状态时需要面对的问题,比如连 ...
- JDK源码分析之hashmap就这么简单理解
一.HashMap概述 HashMap是基于哈希表的Map接口实现,此实现提供所有可选的映射操作,并允许使用null值和null键.HashMap与HashTable的作用大致相同,但是它不是线程安全 ...
- WEB安全:Tomcat 只可通过域名访问,禁止通过 IP 访问
服务器为什么要禁止通过IP直接访问? 1.若公布于外网的服务器IP地址未备案,就有可能被工信部查封.这样备案的域名也会无法访问. 2.如果AppScan通过ip访问扫描,会有“发现内部ip泄露模式”的 ...
- JavaWeb学习 (二十四)————Filter(过滤器)常见应用
一.统一全站字符编码 通过配置参数charset指明使用何种字符编码,以处理Html Form请求参数的中文问题 1 package me.gacl.web.filter; 2 3 import ja ...
- netty源码解解析(4.0)-6 线程模型-IO线程EventLoopGroup和NIO实现(一)
接口定义 io.netty.channel.EventLoopGroup extends EventExecutorGroup 方法 说明 ChannelFuture register(Channel ...
- python的Web框架,类视图
类视图 范式 from django.views import View # 继承View class IndexView(View): def get(self, request): #写法和函数视 ...
- APiCloud学习
端API调用 核心模块在 window.api 对象下,默认提供该模块,不需要单独引用. 扩展模块在相应的模块对象下(例如:文件系统模块在fs对象下),需要require引入(var fs = api ...
- [PHP]算法-替换空格的PHP实现
替换空格: 请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 思路: 1.先循环一遍,找出 ...
- Clock Pictures(kmp + Contest2075 - 湖南多校对抗赛(2015.04.26))
Problem H: Clock Pictures Time Limit: 3 Sec Memory Limit: 128 MBSubmit: 73 Solved: 18[Submit][Stat ...
- Python 练习: 打印0到99小于50或大于70的数字
for i in range(100): if i < 50 or i > 70: print(i) 注意: range(100) 表示 0 到 99 个数字