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

相关文章
|
1月前
|
Shell PHP
Shell echo命令
10月更文挑战第3天
20 0
|
6月前
|
Shell Perl
shell学习(九) 【shell sed用法】
shell学习(九) 【shell sed用法】
73 0
|
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
226 0
|
Shell
shell脚本中,for的用法
shell脚本中,for的用法
81 0
|
Shell Linux
连shell的基本输出都不会,还写什么脚本?echo和printf命令总结
连shell的基本输出都不会,还写什么脚本?echo和printf命令总结
连shell的基本输出都不会,还写什么脚本?echo和printf命令总结
|
Shell 运维
Bash shell 中,select 使用举例
一 背景在最近的运维工作中,写了很多脚本,在写这些脚本时发现了一些高效的用法,现将 select 的用法简单介绍一下。 二 使用举例select 表达式是 bash 的一种扩展应用,擅长于交互式场合。
1145 0
|
Shell 网络安全
shell expect简单用法
#!/usr/bin/expect -f spawn ssh-keygen -t rsa expect "*(/root/.ssh/id_rsa):" send "\r" expect "*(empty for no passphrase):" sen...
1228 0