控制输出颜色的shell脚本
实现代码:
#!/bin/sh # ANSI Color -- Use these variables to make output in different colors # and formats. Color names that end with 'f' are foreground (text) colors, # and those ending with 'b' are background colors. initializeANSI() { esc="\033" # if this doesn't work, enter an ESC directly blackf="${esc}[30m"; redf="${esc}[31m"; greenf="${esc}[32m" yellowf="${esc}[33m" bluef="${esc}[34m"; purplef="${esc}[35m" cyanf="${esc}[36m"; whitef="${esc}[37m" blackb="${esc}[40m"; redb="${esc}[41m"; greenb="${esc}[42m" yellowb="${esc}[43m" blueb="${esc}[44m"; purpleb="${esc}[45m" cyanb="${esc}[46m"; whiteb="${esc}[47m" boldon="${esc}[1m"; boldoff="${esc}[22m" italicson="${esc}[3m"; italicsoff="${esc}[23m" ulon="${esc}[4m"; uloff="${esc}[24m" invon="${esc}[7m"; invoff="${esc}[27m" reset="${esc}[0m" }
先定义函数,接着初始化下函数,接着你就可以看到效果了。
执行
echo -e ${yellowf}This is a phrase in yellow${redb} and red${reset}
echo -e ${boldon}This is bold${ulon} this is italics${reset} bye bye
echo -e ${italicson}This is italics${italicsoff} and this is not
你了解了后以后及可以写出带颜色,很炫的脚本了
相关推荐
-
深入理解Shell输出颜色与控制
前言 大家都知道使用ls命令列出文件列表时,不同的文件类型会用不同的颜色显示.那么如何实现这样带颜色的文本输出呢?答案并不复杂,不管是用shell还是C语言. 一.shell下的实现方法 先来讲在shell下,如何实现.用echo命令就可以实现,参看以下例子: echo -e "33[32mHello, world!" 当你在终端里敲下这条命令后,是不是发现系统用绿色输出了"Hello,world!",不止如此,连之后的命令提示符都变成了绿色?不要着急,听我继续说.
-
远程linux xshell下输出中文乱码解决方法
使用xshell登录中文版CentOS或者redhat时,在xshell下如果输出的是中文的话可能会显示乱码,通过如下办法可以有效的解决乱码问题 linux中文乱码解决方法如下: 复制代码 代码如下: [root@localhost ~]# cd /etc/sysconfig/ [root@localhost sysconfig]# cp i18n i18n.bak #备份i18n文件 [root@localhost sysconfig]# echo "" >i18n [root
-
用shell命令读取与输出数据的代码
shell脚本读取数据有以下几种方式:1.键盘输入,默认2.从文件中读取3.通过管道命令传递 echo的功能:\c :不换行\f :进纸\t :跳格\n :换行\表示转义,例如:"\"/dev/rmt0"\"翻译为,"/dev/rmt0" read:从键盘或文件的某一行文本中读取信息,并将其赋给一个变量. 复制代码 代码如下: [jb51]/>read namehello i am a regular user[jb51]/>echo
-
PowerShell中直接输出转义字符或变量名称的方法
本文介绍在PowerShell的字符串中,如何禁止字符串中某分字符被转义或部分字符被当作变量,即让字符串中所有的字符都原样输出. 在PowerShell中,转义字符是以字符(·)开头的一部分特殊字符,可以用于实现换行.TAB等功能.而变量则是以符号($)开头,代表一个值.之前的文章中我们介绍过转义字符,也介绍过在字符串中包含变量.有兴趣的朋友可以去了解一下. 在PowerShell中可以用一对双引号引起一个字符串,也可以使用一对单引号引起一个字符串.而用单引号与双引号最大的一个区别是,双引号引起
-
神奇的shell命令行输入与输出功能介绍
标准输入/输出和重定向,Linux发行版Fedora Core Linux,而Red Hat公司原来Red Hat Linux的开发团队也将继续参与这一发行版本的开发工作. 标准输入与输出 我们知道,执行一个shell命令行时通常会自动打开三个标准文件,即标准输入文件(stdin),通常对应终端的键盘:标准输出文件(stdout)和标准错误输出文件(stderr),这两个文件都对应终端的屏幕.进程将从标准输入文件中得到输入数据,将正常输出数据输出到标准输出文件,而将错误信息送到标准错误文件中.
-
linux shell的输出效果修改方法(界面颜色)
文本终端的颜色可以使用"ANSI非常规字符序列"来生成.举例: echo -e "\033[44;37;5m ME \033[0m COOL" 以上命令设置背景成为蓝色,前景白色,闪烁光标,输出字符"ME",然后重新设置屏幕到缺省设置,输出字符 "COOL"."e"是命令 echo 的一个可选项,它用于激活特殊字符的解析器."\033"引导非常规字符序列."m"意味着
-
关于shell命令的定向输出 2>&1
mycommand >mylog.txt 2>&1 应该是最经典的用法了. 命令的结果可以通过"%>"的形式来定向输出,%表示文件描述符:1为标准输出stdout.2为标准错误stderr.系统默认%值是1,也就是"1>",而1>可以简写为>,也就是默认为>.stdout的默认目标是终端,stderr的默认目标为也是终端.我们在批处理中执行: echo text >result.txt ,我们就可以在屏幕上会看
-
linux c程序中获取shell脚本输出的实现方法
1. 前言Unix界有一句名言:"一行shell脚本胜过万行C程序",虽然这句话有些夸张,但不可否认的是,借助脚本确实能够极大的简化一些编程工作.比如实现一个ping程序来测试网络的连通性,实现ping函数需要写上200~300行代码,为什么不能直接调用系统的ping命令呢?通常在程序中通过 system函数来调用shell命令.但是,system函数仅返回命令是否执行成功,而我们可能需要获得shell命令在控制台上输出的结果.例如,执行外部命令ping后,如果执行失败,我们希望得到p
-
PowerShell中使用Get-Date获取日期时间并格式化输出的例子
在PowerShell中有一个Get-Date的cmdlet,使用它可以直接返回当前的日期和时间.使用-Format参数可以返回当前的年.月.日.时.分.秒等. Get-Date的直接使用 在PowerShell中直接调用Get-Date,可以返回当前的日期和时间,包括年.月.日.时.分.秒.举例如下: 复制代码 代码如下: PS C:\Users\zhanghong> Get-Date 2013年9月9日 22:26:56 Write-Host中使用Get-Date 注意:在Write-Hos
-
控制输出颜色的shell脚本
实现代码: #!/bin/sh # ANSI Color -- Use these variables to make output in different colors # and formats. Color names that end with 'f' are foreground (text) colors, # and those ending with 'b' are background colors. initializeANSI() { esc="\033" #
-
一个不错的shell 脚本教程 入门级
建立一个脚本 Linux中有好多中不同的shell,但是通常我们使用bash (bourne again shell) 进行shell编程,因为bash是免费的并且很容易使用.所以在本文中笔者所提供的脚本都是使用bash(但是在大多数情况下,这些脚本同样可以在 bash的大姐,bourne shell中运行). 如同其他语言一样,通过我们使用任意一种文字编辑器,比如nedit.kedit.emacs.vi 等来编写我们的shell程序. 程序必须以下面的行开始(必须方在文件的第一行): #!/b
-
shell脚本中echo显示内容带颜色的实现方法
shell脚本中echo显示内容带颜色显示,echo显示带颜色,需要使用参数-e 格式如下: 复制代码 代码如下: echo -e "\033[字背景颜色:文字颜色m字符串\033[0m" 例如: 复制代码 代码如下: echo -e "\033[41;36m something here \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 注: 1.字背景颜色和文字颜色之间是英文的"" 2.文字颜色后面有个m 3.字符串前后可
-
linux下使用shell脚本输出带颜色字体
输出特效格式控制: \033[0m 关闭所有属性 \033[1m 设置高亮度 \03[4m 下划线 \033[5m 闪烁 \033[7m 反显 \033[8m 消隐 \033[30m -- \033[37m 设置前景色 \033[40m -- \033[47m 设置背景色 光标位置等的格式控制: \033[nA 光标上移n行 \03[nB 光标下移n行 \033[nC 光标右移n行 \033[nD 光标左移n行 \
-
Shell脚本的条件控制和循环语句
条件判断:if语句 语法格式: if [ expression ] then Statement(s) to be executed if expression is true fi 注意:expression 和方括号([ ])之间必须有空格,否则会有语法错误. if 语句通过关系运算符判断表达式的真假来决定执行哪个分支.Shell 有三种 if ... else 语句: if ... fi 语句 if ... else ... fi 语句 if ... elif ... else ... f
-
详解Shell脚本控制docker容器启动顺序
1.遇到的问题 在分布式项目部署的过程中,经常要求服务器重启之后,应用(包括数据库)能够自动恢复使用.虽然使用docker update --restart=always containerid能够让容器自动随docker启动,但是并不能保证是在数据库启动之后启动,如果数据库未启动,那么将导致应用启动失败;网上还有一种解决方法是通过docker-compose容器编排来控制启动顺序,这个博主研究的比较少. 2.解决思路 使用Shell脚本来控制,思路大致如下 探测数据库端口来检验数据库是否启动成
-
Linux shell脚本输出日志笔记整理(必看篇)
1.日志方法简介: #日志名称 log="./upgrade.log" #操作日志存放路径 fsize=2000000 #如果日志大小超过上限,则保存旧日志,重新生成日志文件 exec 2>>$log #如果执行过程中有错误信息均输出到日志文件中 #日志函数 #参数 #参数一,级别,INFO ,WARN,ERROR #参数二,内容 #返回值 function zc_log() { #判断格式 if [ 2 -gt $# ] then echo "parameter
-
输出执行操作和打印日志的shell脚本实例
cat /mnt/log_function.sh #!/bin/bash #log function ####log_correct函数打印正确的输出到日志文件 function log_correct () { DATE=`date "+%Y-%m-%d %H:%M:%S"` ####显示打印日志的时间 USER=$(whoami) ####那个用户在操作 echo "${DATE} ${USER} execute $0 [INFO] $@" >>/v
-
shell脚本实现分日志级别输出的方法
shell脚本如何优雅的记录日志信息,下面让我们一步一步,让shell脚本的日志也变得高端起来,实现如下功能 ①设定日志级别,实现可以输出不同级别的日志信息,方便调试 ②日志格式类似为:[日志级别] 时间 funcname:函数名 [lineno:行号] 日志信息 ③不同级别,设定不同颜色 ④让其变为函数库文件,重用代码 下面看看我用shell记录日志的进化之路 1.最简单的日志记录方式 对于刚入门的同学,记录日志一般用echo加重定向方式,这应该是最原始的方式了^_^ echo "log me
随机推荐
- jQuery过滤选择器:not()方法使用介绍
- perl AnyEvent简单介绍和入门知识
- 图文详解Heap Sort堆排序算法及JavaScript的代码实现
- JavaScript实现点击按钮直接打印
- 基于thinkPHP类的插入数据库操作功能示例
- Android中扫描多媒体文件操作详解
- asp.net结合Ajax验证用户名是否存在的代码
- js 解决“options为空或不是对象”
- jQuery对象与DOM对象之间的转换方法
- sql将时间类型转换为字符串类型汇总
- 详解MySQL查询时区分字符串中字母大小写的方法
- jQuery获取Select选择的Text和Value(详细汇总)
- DevExpress实现TreeList向上递归获取公共父节点的方法
- php5.3 注意事项说明
- Android对话框AlertDialog.Builder使用方法详解
- Eclipse中引入com.sun.image.codec.jpeg包报错的完美解决办法
- [机器视觉]使用python自动识别验证码详解
- 微信小程序简单的canvas裁剪图片功能详解
- python基于json文件实现的gearman任务自动重启代码实例
- Python实现多线程的两种方式分析