的回声命令(bash内置)是Linux上的一个非常基本的命令。与ls和松材线虫病在命令行上,你不能坐很长时间没有使用它。与此同时,回声有相当多的用途,我们中的许多人从来没有利用。这篇文章看起来很多方面你可以使用这个命令。
回声是什么?
基本上,回声是一个命令将显示任何你问它显示的文本。然而,当你输入“回声你好”,回声命令不仅吐出这五个字母,它实际上是发送6个字符——最后一个换行符。让我们看看几个命令,让这个显而易见的。
首先,使用回声这是不带参数:
回声美元
注意到一个空的行显示在提示符回来。如果你重定向命令的输出od bc命令,很容易确认“隐形”只是一个换行,输出\ n或八进制012年在下面的输出中。
回声| od bc 0000000 012美元\ n 0000001
那\ n的原因吗回声命令也可以用来添加换行符结束的一个文件,出于某种原因,缺少一个。这里有一个文件缺少一个换行的命令添加一个紧随其后。
美元od bc nolinefeed 154 150 145 154 0000000 157 h e l l o 0000005回声> > nolinefeed od bc美元nolinefeed 0000000 150 145 154 154 157 012 h e l l o \ n< = =0000006
od bc
的od bc命令在上面的例子中显示的内容在八进制和字符格式的文件。上面的输出显示了一个换行是添加到文件的末尾。的od bc命令提供了一个非常有用的方法来检查一个文件的内容,尤其是当使用猫命令不告诉你你需要看到的一切。
>和> >
一个重要的注意当使用回声命令是>和> >使用不同的文件。的>将覆盖一个文件的内容,而> >将添加到它。
echo - n
的echo - n命令将省略的换行输出。这通常是在脚本中使用时提示用户提供一些问题的答案。这个效果最好时,提示和答案的空间将进入同一条直线。例如,如果用户提供文件的名称应该处理的脚本,我们可能会看到这样的行:
echo - n“文件名称>”阅读文件
谁运行脚本将被提示输入一个文件名,将输入文件名称如下所示:
文件名称>丢失
清空文件
的回声命令还可以用于空文件。而更常见的使用一个命令等猫/ dev / null >文件名,命令echo - n >文件名作品。两个命令文件的内容替换为…什么!把这个命令变成一个别名,使用这样的命令或将它添加到您的. bashrc文件。
别名空美元= ' echo - n > '
设置别名之后,您可以输入一个命令,如“空myfile”,则该文件将不再有内容。请记住,使用> >在的地方>将文件完整——基本上添加没有什么到结束它。
使用echo - e
的回声命令的- e选项(使解释反斜杠转义)解释反斜杠之后,其他一些字符(例如,\ b)的方式改变了输出。例如,插入的实例\ b在一个字符串会导致之前的字符\ b要删除(退格)。这里有一个例子:
$座右铭=“当\ blife \ bhands \ b你\ blemons \ bmake \ blemonade“echo - e座右铭Whenlifehandsyoulemons,美元makelemonade
如果文本包含换行(\ n)字符而不是退格字符,命令将文本变成多行相反——基本上就是创建新行。
美元motto2 = '当\ nlife \ nhands \ nyou \ nlemons \ nmake \ nlemonade“echo - e motto2美元当生活给了你柠檬,柠檬水
使用\ c将抑制换行字符,因此截断输出。
美元motto3 = "当生活手你\克莱蒙斯,把柠檬水”echo - e motto3美元当生活给你美元
使用\ t将标签插入到输出。
回声motto4美元当生活手你\ tlemons \ tmake柠檬水echo - e motto4美元当生活给了你柠檬,柠檬水
的手册页回声命令将显示您所有的序列,你可以使用- e选择。
\ \反斜杠\警报(贝尔)\ b退格\ c产生不再输出\ e逃脱\ f形成饲料\ r \ n新行回车\ t水平选项卡\ v垂直制表符\ 0用八进制值NNN NNN字节(1到3位数)\ xHH字节十六进制值HH(1到2位数)
使用echo - e在的地方echo - e禁用转义字符,默认——一样回声没有参数。
可能是最有趣的echo - e选项是使用v \(垂直制表符)的选择。你的命令和输出将会看起来像这样:
$ motto5 =“当\ vlife \ vhands \ vyou \ vlemons \ vmake \ vlemonade“echo - e motto5美元当生活给了你柠檬,柠檬水
改变字体颜色呼应
你也可以改变字体颜色使用回声命令。例如,下面的命令将在红色显示文本。
033回声- e " \ [31 mthis一些红色文本”这是一些红色文本
使用重置命令来设置字体颜色恢复正常。那033年\[31米字符串是红色的代码。您还可以使用命令,如创建定义的颜色红色= ' 033年\[31米因为记住“红色”将是一个容易记住033年\[31米。
下面的示例命令的一部分文本将显示在红色与黑色背景,然后将返回的文本终端窗口正常的字体和背景颜色。的回声命令只会工作,然而,在颜色红色的和重置选择已经定义为第一行所示。
红色= ' 033年\[31美元”;重置= ' 033年\ [0 m '美元echo - e " ${红}这个文本是红色的。${重置}这个文本不是。”这段文字是红色的。本文不是。
的${重置}在上面的命令返回屏幕颜色他们之前。
现在,让我们试着我最喜欢的颜色——紫色。
紫色= ' 033年\[35美元的美元重置= ' \ [0 m的033美元echo - e " ${紫色}这是一个紫色的文本。${重置},现在的文本是正常的。”这是一个紫色的文本。现在的文本是正常的。
我将经常源文件,其中包含颜色的定义,我想用,这样我不需要定义它们每当我想使用它们。我添加一个”。颜色”命令的任何脚本需要在某些特定的颜色显示文本。
033猫颜色红色= ' \[31米的蓝色= ' 033年\[34米的紫色= ' 033年\[35米的白色= ' 033年\[37米的blackBG = ' 033年\[40米的黑色= ' \ 0;30 [0 m ' darkgray = ' \ 1; 30米的粉色= ' 033年\[31 033“绿色= ' \ [32 m的lightgreen = ' 033年\ [32 m的浅灰色= ' 033年\[37米的橙色= ' 033年\[33米的青色= ' 033年\ [36 m“重置= ' 033年\ [0 m '
下面的脚本中的命令将显示这个短语的红、白、蓝三种颜色。你能猜出哪个?
# !/bin/bash红色= ' 033年\[31 033“白色= ' \[37米的蓝色= ' 033年\[34米“重置= ' 033年\ [0 m ' echo - e " ${红}红色,${白}白色和${蓝}蓝色。${重置}”
总结
的回声命令可以做很多显示多行文本或将它们添加到文件结束。我希望在这篇文章中所描述的使用会使你的小时在命令更有趣,甚至更多…丰富多彩的!