Linux基础:echo命令详解,真的很详细!
echo命令的基本用法,很简单,就是echo命令后面跟上要输出的文本,如下:
除了基本用法,还可以配合一些选项使用
echo -n表示不换行输出:
上图示例中,已经将“\t”转义过的制表符输出到了屏幕上,所以,我们只要能够记住这些转义字符,就可以在echo命令中输出它们,那么我们将常用的转义字符总结一些,然后给出示例:
常用的转义字符如下:
\b转义相当于按退格键(backspace),但前提是“\b”后面存在字符,具体效果参考下方示例。
\c不换行输出,在“\c”后面不存在字符的情况下,作用相当于echo -n,具体效果参考下方示例。
\n换行,效果看示例。
\f换行,但是换行后的新行的开头位置连接着上一行的行尾,具体效果查看示例。
\v与\f相同;
\t转以后表示插入tab,即制表符,已经在上面举过例子;
\r光标移至行首,但不换行,相当于使用“\r”以后的字符覆盖“\r”之前同等长度的字符,只看这段文字描述的话可能不容易理解,具体效果查看示例。
\\表示插入“\”本身;
使用echo命令输出上述转义字符的示例如下:
使用echo命令输出"\b"转义字符,在"\b"后面存在字符的前提下,"\b"表示删除前一个字符,“\b\b”表示删除前两个字符。
我们也可以使用\c转义符,表示不换行输出,但是当"\c"后面仍然存在字符时,"\c"后面的字符将不会被输出,如果"\c"后面不存在任何字符时,效果与"echo -n"相同,示例如下:
"\n"转义后表示换行,下例中,被输出的字符从"\n"处开始另起一行。
"\f"转义符表示换行,但是换行后的新行的开头位置连接着上一行的行尾,如下图所示,下图中的第三个例子中又两个"\f".
“\v”转义符与“\f”转义符的作用相同。
“\r”转义符表示使用“\r”后面的字符覆盖“\r”之前的同等长度的字符,比较不容易理解,但是看下图示例,就很容易明白了。
“\\”经过转义以后,表示“\”示例如下。
使用echo命令的-e
从上图可以看出,如果要想输出红色字符,至少需要两部分, \033[31m 和\033[0m ,这些代码有一个专业名词,叫做" ANSI控制码"但是为了方便理解,我们先用通俗的语言解释它们,用不专业的思维去理解它们。
我们可以把\033[31m理解成"开始输出红色字符" ,把\033[0m理解成"结束输出红色字符"。
当echo -e遇到\033[31m的时候,就认为自己要输出红色字符了,\033[31m就是一 个信号, 它告诉echo e,需要开始输出红色字符了,\033[0m也是种信号,它告诉ech。命令,红色字符已经不能输出了,再输出的字符应该是黑白字符了,不能是彩色的了。那么,如果我们想要输出绿色字符,该怎么写呢,示例如下
也就是说,我们只要改变对应位置的数字,就能改变输出字符的颜色,所以,我们将能够输出的颜色对应的数字总结如下:
30:黑色
31:红色
32:绿色
33:黄色
34:蓝色
35:紫色
36:浅蓝色
37:灰色
所以,对应上述颜色号码,输出效果如下:
可以看到,唯一-不同的地方就是带有黄色背景的命令中,多出了"43;",其他部分的命令都- 样。
聪明如你一定想到了,"43;"代表黄色背景,那么别的背景颜色-定会有其对应的数字编号,没有错,此处列出背景色编号:
40:黑色
41:红色,
42:绿色
43:黄色
44:蓝色
45:紫色
46:浅蓝色
47:灰色
我们可以同时设定字符的颜色与背景的颜色,怎样搭配随你喜欢。
比如,红配绿,赛狗pi
比如..各种搭配,全凭老板您喜欢。
常用ANSI控制码总结如下:
\033[0m关闭所有属性,也就是说此控制码前面的控制码将会失效,此控制码中的0可以省略。
\033[1m设置高亮度
\033[4m下划线
\033[5m闪烁
\033[7m反显,撞色显示,显示为白底黑字,或者显示为黑底白字
\033[8m消隐,字符颜色将会与背景颜色相同
\033[30m -- \33[37m设置字符颜色
\033[40m -- \33[47m设置背景色
\033[K清除从光标到行尾的内容
上述ANSI控制码中,有的不能在bash命令行中运行,我们可以掩饰几个可用的,常用的ANSI控制码,示例如下图:
我就知道你会点赞+“在看”