天天看点

shell echo用法分析

时间:2017.12.21

作者:李强

参考:man,info,magedu讲义,万能的internet

实验环境:VMware® Workstation 12 Pro ,Centos 6.9,Centos 7.4,SecureCRT Version 8.1.4

声明:以下英文纯属个人翻译,英文B级,欢迎纠正,以下内容纯属个人理解,并没有对错,只是参考,盗版不纠,才能有限,希望不误人子弟为好。

echo

echo [OPTION]... [STRING]...

选项:

-n:不换行(与 -e \c 相同效果)

-e:使用转义字符解释,引号里的转义字符,如果不加引号,它不去解释\

e.g.

-E:默认如此:明确禁止转义字符的解释,不允许反斜线去转义任何字符,反斜线后面是单纯的字符而已,不显示反斜线。 

Q: 这里的string可以跟多个的含义怎么解释?

个人理解是,echo -e abc\nd,此时后面是abc\n一共是6个string,-e处理就是a,b,c然后看到\执行,没有,然后n,d;如果echo -e "abc\nd",-e处理就是abc\nd,发现\后有n,解释了\n。待验证。

支持的转义字符如下

\a:alber,发出警告声

\b:backspace,删除前一个字符

\c:进一步抑制输出,就是最后不加上不换行,默认echo输出是换行的

\e:escape character,转码符,代表的是\033

\f:换行但是光标依然在停在原来的位置

\n:new line,换行 且光标移到行首

\r:不换行,光标移到行首

\t:插入tab键,可以用来对齐列

\v:vertical tab,垂直制表符

\:插入\字符

\0nnn:插入nnn所代表的的八进制的ASCII字符

\xHH

echo经常用于输出的时候控制文本的格式有:

文字颜色

颜色码:重置=0,黑色=30,红色=31,绿色=32,×××=33,蓝色=34,洋红=35,青色=36,白色=37

背景

颜色码:重置=0,黑色=40,红色=41,绿色=42,×××=43,蓝色=44,洋红=45,青色=46,白色=47

字体显示方式 

颜色码: 终端默认设置=0 高亮显示=1 带下划线=4 字体闪烁=5 反白显示=7 隐藏=8

\033[x;y;zm \033[0m

x表示显示方式

y表示字体颜色

z表示字体背景色

不同终端类型的x,y,z值是不同的,不写就是默认值,然后最后一个跟上m

所以通常最后都会加\033[0m恢复系统终端默认值。

字体颜色的定义:

man console_codes

rpm -ql man-pages

本文转自 lajifeiwomoshu 51CTO博客,原文链接:http://blog.51cto.com/lajifeiwomoshu/2053084