echo命令

echo命令—详解

1.文本输出:echo命令后面跟上输出的文本
2.echo自动换行; echo -n 表示不换行输出
3. echo -e 表示转义字符
①\b转义后相当于按退格键(backspace),但前提是“\b”后面存在字符,具体效果参考下方示例。
②\c不换行输出,在“\c”后面不存在字符的情况下,作用相当于echo -n,具体效果参考下方示例。
③\n换行,具体效果参下方示例。
④\f换行,但是换行后的新行的开头位置连接着上一行的行尾,具体效果参下方示例。
⑤\v与\f相同。
⑥\t转以后表示插入tab,即制表符。
⑦\r光标移至行首,但不换行,相当于使用“\r”以后的字符覆盖“\r”之前同等长度的字符,只看这段文字描述的话可能不容易理解,具体效果查看示例。
⑧\表示插入“\”本身。**
实际操作如下:

[administrator@localhost ~]$ echo -e "123\b"
123
[administrator@localhost ~]$ echo -e "123\b4567"
124567
[administrator@localhost ~]$ echo -e "123\b\b4567"
14567
[administrator@localhost ~]$ echo -e "123\b\b\b4567"
4567
[administrator@localhst ~]$ echo -e "123\c"
123[administrator@localhost ~]$ 
[administrator@localhost ~]$ echo -n "123"
123[administrator@localhost ~]$ 
[administrator@localhost ~]$ echo -e "123\c456"
123[administrator@localhost ~]$ 
[administrator@localhost ~]$ echo -e "abcefg\n1234"
abcefg
1234
[administrator@localhost ~]$ echo -e "123\f456"
123
       456
[administrator@localhost ~]$ echo -e "abcdefg\f1234"
abcdefg
           1234
[administrator@localhost ~]$ echo -e "abcdefg\f1234\f@@@@@@@@"
abcdefg
           1234
                @@@@@@@@
[administrator@localhost ~]$ echo -e "abcdefg\r123"
123defg
[administrator@localhost ~]$ echo -e "abc\r123"
123
[administrator@localhost ~]$ echo -e "a\r123"
123
[administrator@localhost ~]$ echo -e "a\r"
a
[administrator@localhost ~]$ echo -e "abc\\def"
abc\def

4、------使用echo命令的-e选项,除了能够输出转义字符,还能够在命令行中输出彩色的字符,或是带有彩色背景的字符。
例:
echo命令_第1张图片

  • 从图中来看,一共可以分为两部分,\033[31m 和\033[0m。
  • 这些代码有一个专业名词,叫做“ANSI控制码”。
  • 我们习惯把\033[31m理解成“开始输出红色字符”,把\033[0m理解成“结束输出红色字符”。
  • 当echo -e遇到\033[31m的时候,就认为自己要输出红色字符了,\033[31m就是一个信号,它告诉echo -e,需要开始输出红色字符了,\033[0m也是一种信号,它告诉echo -e命令,红色字符已经不能输出了,在输出的字符应该是黑白字符了,不能是彩色的了。

那么,如果我们想要输出绿色字符,该怎么写呢? 示例如下:
在这里插入图片描述
-------------------------------------------这是一条美丽的分界线-------------------------------
在这里插入图片描述
通过上面两行命令可以看出,输出红色字符与输出绿色字符唯一区别就是红色数字。所以我们只要改变相应位置的数字,就能改变输出字符的颜色,所以,我们将能够输出的颜色对应的数字总结如下:
30 :黑色
31 :红色
32 :绿色
33 :黄色
34 :黄色
35 :紫色
36 :浅蓝色
37 :灰色
输出效果如下:echo命令_第2张图片
除了能够使用echo命令输出彩色字符,我们还能够为彩色字符添加彩色背景,比如,我们想要输出据欧黄色背景的红色字符,具体情况如下:
在这里插入图片描述
对比一下:
echo命令_第3张图片
可以看出,唯一不同的地方就是带有黄色背景的命令中,多了个“43;”其他部分都一样。

背影颜色编号对应的数字如下:
-----------> 40 :黑色
-----------> 41 :红色
-----------> 42 :绿色
-----------> 43 :黄色
-----------> 44 :蓝色
-----------> 45 :紫色
-----------> 46 :浅蓝色
-----------> 47 :灰色

5、我们之前说过,”\033[31m”这些代码都属于ANSI控制码。
ANSI控制码中不仅有控制颜色的控制码,还有一些提供其他功能的控制码,总结如下:
\33[0m 关闭所有属性,也就是说此控制码前面的控制码将会失效,此控制码中的0可以省略。

  • \33[1m 设置高亮度
  • \33[4m 下划线
  • \33[5m 闪烁
  • \33[7m 反显,撞色显示,显示为白底黑字,或者为黑底白字
  • \33[8m 消隐,字符颜色将会与背景颜色相同
  • \33[30m----\33[37m设置字体颜色
  • \33[40m----\33[47m设置背景颜色
  • \33[K 消除从光标到行尾的内容

你可能感兴趣的:(echo命令)