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级,欢迎纠正,以下内容纯属个人理解,并没有对错,只是参考,盗版不纠,才能有限,希望不误人子弟为好。

时间: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.

[lq@centos7 /app/script]$ echo -e 'test\nhaha'
test
haha
[lq@centos7 /app/script]$ echo -e test\nhaha 
testnhaha
[lq@centos7 /app/script]$ echo -e "test\nhaha"
test
haha

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

[lq@centos7 /app/script]$ echo -E test\nhaha
testnhaha
[lq@centos7 /app/script]$ echo -E "test\nhaha"
test\nhaha
[lq@centos7 /app/script]$ 

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

相关文章
|
14天前
|
Shell Perl
shell学习(九) 【shell sed用法】
shell学习(九) 【shell sed用法】
8 0
|
14天前
|
Shell Perl
shell学习(十) 【shell awk基本语法】
shell学习(十) 【shell awk基本语法】
10 1
|
4月前
|
Shell PHP
Shell echo命令
Shell echo命令
37 0
|
10月前
|
Shell 应用服务中间件 nginx
shell脚本-find
find查询服务器内文件
|
11月前
|
Shell PHP
Shell脚本中的echo命令
Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式: echo string 您可以使用echo实现更复杂的输出格式控制。 1.显示普通字符串: echo "It is a test" 这里的双引号完全可以省略,以下命令与上面实例效果一致: echo It is a test 2.显示转义字符 echo "\"It is a test\"" 结果将是: "It is a test" 同样,双引号也可以省略 3.显示变量 read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量 #!/bin/s
188 0
|
Shell
shell脚本中,for的用法
shell脚本中,for的用法
65 0
|
Shell Linux
连shell的基本输出都不会,还写什么脚本?echo和printf命令总结
连shell的基本输出都不会,还写什么脚本?echo和printf命令总结
连shell的基本输出都不会,还写什么脚本?echo和printf命令总结

热门文章

最新文章