shell中echo的显示格式

简介: 有时候使用shell就是为了达到简化工作的目的,其实在shell本身强大的功能下,其实还可以更好一些,功能再好,如果界面有时候不够美观,清晰,效果也会受到直接影响,这种情况再程序员中尤为普遍,很多开发人员能够快速实现业务数据的处理展现,但是在美观上总是差一些,可能很酷的功能有时候就会因为界面的太简单,死板而大打折扣。
有时候使用shell就是为了达到简化工作的目的,其实在shell本身强大的功能下,其实还可以更好一些,功能再好,如果界面有时候不够美观,清晰,效果也会受到直接影响,这种情况再程序员中尤为普遍,很多开发人员能够快速实现业务数据的处理展现,但是在美观上总是差一些,可能很酷的功能有时候就会因为界面的太简单,死板而大打折扣。
我先来一段shell中只使用echo打印出的丰富画面。

彩色字体是一个亮点,对于shell中对字体添加颜色早有耳闻,也自己尝试过,效果还不错,如果客户端的显示配置不兼容,可能字体就不会是彩色的了。
看看这么一个看似简单的案例用shell是怎么写的。
echo -e "     \E(0lqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk\E(B
     \E(0x\E(B                          \033[32m\E(0\`\E(B CONNECT TOOL \E(0\`\E(B\033[0m                          \E(0x\E(B
     \E(0x\E(B \033[33mComposer : xxxxxxxxxxxx\033[0m                                            \E(0x\E(B
     \E(0x\E(B \033[31m\E(0\`\E(B Description :\033[0m                                                    \E(0x\E(B
     \E(0x\E(B \033[36mThis is fast environment connect, Allows you  connect to any\033[0m       \E(0x\E(B
     \E(0x\E(B \033[36menvironment enlisted in ensight DB.                            \033[0m    \E(0x\E(B
     \E(0x\E(B \033[33mFor more information you may drop mail to : \033[35m\033[4mxxxxxx@xxxxxx.com\033[0m      \E(0x\E(B
     \E(0mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj\E(B"

这看起来有点晕,其实除了字体的颜色之外,个人对于画制的表格更感兴趣。可以看到这个和自己用字符拼出来的效果还是不太一样的。感觉更加紧凑。
如果客户端的很多属性不配置。这部分的功能还是会保留。比如下面这样,可以看到表格的效果还是没有打折扣。

反复测试就会发现。关键的部分就是4个角的实现了。
左上角的实现就是使用 echo -e "\E(0l\E(B" 来实现的  其实最核心的就是那个l,如果是右上角的实现,就是echo -e "\E(0k\E(B", 关键就是那个k
可以发现和vi中有些类似,其实就是这么回事,左下角就是 echo -e "\E(0m\E(B"  右下角就是  echo -e "\E(0j\E(B"
对于水平线是用q来表示的。
至于彩色字体的实现还是有不必要提一下的。在本地所做的实验如下。参考了http://onlyzq.blog.51cto.com/1228/546459 提供的命令。

       
使用的命令如下:
echo -e "\033[30m 黑色字 \033[0m"
echo -e "\033[31m 红色字 \033[0m"
echo -e "\033[32m 绿色字 \033[0m"
echo -e "\033[33m 黄色字 \033[0m"
echo -e "\033[34m 蓝色字 \033[0m"
echo -e "\033[35m 紫色字 \033[0m"
echo -e "\033[36m 天蓝字 \033[0m"
echo -e "\033[37m 白色字 \033[0m"
 
echo -e "\033[40;37m 黑底白字 \033[0m"
echo -e "\033[41;37m 红底白字 \033[0m"
echo -e "\033[42;37m 绿底白字 \033[0m"
echo -e "\033[43;37m 黄底白字 \033[0m"
echo -e "\033[44;37m 蓝底白字 \033[0m"
echo -e "\033[45;37m 紫底白字 \033[0m"
echo -e "\033[46;37m 天蓝底白字 \033[0m"
echo -e "\033[47;30m 白底黑字 \033[0m"


目录
相关文章
|
1天前
|
算法 Shell Linux
【Shell 命令集合 备份压缩 】Linux 处理lha格式 lha命令 使用指南
【Shell 命令集合 备份压缩 】Linux 处理lha格式 lha命令 使用指南
42 0
|
1天前
|
安全 Shell Linux
【Shell 命令集合 备份压缩 】Linux将可执行文件压缩成gzip格式 gzexe命令 使用指南
【Shell 命令集合 备份压缩 】Linux将可执行文件压缩成gzip格式 gzexe命令 使用指南
53 0
|
9月前
|
Shell
Shell 脚本输出命令结果保持原格式,保留换行
Shell 脚本输出命令结果保持原格式,保留换行
135 0
|
1天前
|
算法 Shell Linux
【Shell 命令集合 备份压缩 】Linux 解压缩ARJ格式 unarj命令 使用指南
【Shell 命令集合 备份压缩 】Linux 解压缩ARJ格式 unarj命令 使用指南
34 0
|
1天前
|
Shell Linux
【Shell 命令集合 文件管理】Linux 以不同的进制格式显示文件的内容 od 命令使用教程
【Shell 命令集合 文件管理】Linux 以不同的进制格式显示文件的内容 od 命令使用教程
37 0
|
5月前
|
Shell PHP
Shell echo命令
Shell echo命令
37 0
|
8月前
|
Shell 数据处理 Perl
Shell编程中的echo命令详解及应用技巧
Shell编程中的echo命令详解及应用技巧
192 0
|
9月前
|
前端开发 Shell
Shell echo 详细介绍(-n、-e、-e字体颜色背景以及其他配置项)
Shell echo 详细介绍(-n、-e、-e字体颜色背景以及其他配置项)
131 0
|
11月前
|
Shell
shell编程入门(一) echo和循环
shell编程入门(一) echo和循环
76 0
|
12月前
|
Shell
Shell echo-使用echo实现更复杂的输出格式控制
Shell echo-使用echo实现更复杂的输出格式控制
95 1