标签 echo 下的文章

echo是一种最常用的与广泛使用的内置于Linux的bash和C shell的命令,通常用在脚本语言和批处理文件中来在标准输出或者文件中显示一行文本或者字符串。

echo命令的语法是:

echo [选项] [字符串]

1. 输入一行文本并显示在标准输出上

$ echo Tecmint is a community of Linux Nerds 

会输出下面的文本:

Tecmint is a community of Linux Nerds 

2. 输出一个声明的变量值

比如,声明变量x并给它赋值为10

 $ x=10

会输出它的值:

$ echo The value of variable x = $x 

The value of variable x = 10 

3. 使用‘\b‘选项

-e‘后带上'\b'会删除字符间的所有空格。

注意: Linux中的选项‘-e‘扮演了转义字符反斜线的翻译器。

$ echo -e "Tecmint \bis \ba \bcommunity \bof \bLinux \bNerds" 

TecmintisacommunityofLinuxNerds 

4. 使用‘\n‘选项

-e‘后面的带上‘\n’行会在遇到的地方作为新的一行

$ echo -e "Tecmint \nis \na \ncommunity \nof \nLinux \nNerds" 

Tecmint 
is 
a 
community 
of 
Linux 
Nerds 

5. 使用‘\t‘选项

-e‘后面跟上‘\t’会在空格间加上水平制表符。

$ echo -e "Tecmint \tis \ta \tcommunity \tof \tLinux \tNerds" 

Tecmint     is  a   community   of  Linux   Nerds 

6. 也可以同时使用换行‘\n‘与水平制表符‘\t

$ echo -e "\n\tTecmint \n\tis \n\ta \n\tcommunity \n\tof \n\tLinux \n\tNerds" 

    Tecmint 
    is 
    a 
    community 
    of 
    Linux 
    Nerds 

7. 使用‘\v‘选项

-e‘后面跟上‘\v’会加上垂直制表符。

$ echo -e "\vTecmint \vis \va \vcommunity \vof \vLinux \vNerds" 

Tecmint 
        is 
           a 
             community 
                       of 
                          Linux 
                                Nerds 

8. 也可以同时使用换行‘\n‘与垂直制表符‘\v

$ echo -e "\n\vTecmint \n\vis \n\va \n\vcommunity \n\vof \n\vLinux \n\vNerds" 


Tecmint 

is 

a 

community 

of 

Linux 

Nerds 

注意: 你可以按照你的需求连续使用两个或者多个垂直制表符,水平制表符与换行符。

9. 使用‘\r‘选项

-e‘后面跟上‘\r’来指定输出中的回车符。(LCTT 译注:会覆写行开头的字符)

$ echo -e "Tecmint \ris a community of Linux Nerds" 

is a community of Linux Nerds 

10. 使用‘\c‘选项

-e‘后面跟上‘\c’会抑制输出后面的字符并且最后不会换新行。

$ echo -e "Tecmint is a community \cof Linux Nerds" 

Tecmint is a community @tecmint:~$ 

11.-n‘会在echo完后不会输出新行

$ echo -n "Tecmint is a community of Linux Nerds" 
Tecmint is a community of Linux Nerds@tecmint:~/Documents$ 

12. 使用‘\a‘选项

-e‘后面跟上‘\a’选项会听到声音警告。

$ echo -e "Tecmint is a community of \aLinux Nerds" 
Tecmint is a community of Linux Nerds

注意: 在你开始前,请先检查你的音量设置。

13. 使用echo命令打印所有的文件和文件夹(ls命令的替代)

$ echo * 

103.odt 103.pdf 104.odt 104.pdf 105.odt 105.pdf 106.odt 106.pdf 107.odt 107.pdf 108a.odt 108.odt 108.pdf 109.odt 109.pdf 110b.odt 110.odt 110.pdf 111.odt 111.pdf 112.odt 112.pdf 113.odt linux-headers-3.16.0-customkernel_1_amd64.deb linux-image-3.16.0-customkernel_1_amd64.deb network.jpeg 

14. 打印制定的文件类型

比如,让我们假设你想要打印所有的‘.jpeg‘文件,使用下面的命令。

$ echo *.jpeg 

network.jpeg 

15. echo可以使用重定向符来输出到一个文件而不是标准输出

$ echo "Test Page" > testpage 

## Check Content
avi@tecmint:~$ cat testpage 
Test Page 

echo 选项列表

| 选项 | 描述 |
| -n | 不输出末尾的换行符。 |
| -e | 启用反斜线转义。 |
| \b | 退格 |
| \ | 反斜线 |
| \n | 新行 |
| \r | 回车 |
| \t | 水平制表符 |
| \v | 垂直制表符 |

就是这些了,不要忘记在下面留下你的反馈。


via: http://www.tecmint.com/echo-command-in-linux/

作者:Avishek Kumar 译者:geekpi 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出

echo命令是内建的shell命令,用于显示变量的值或者打印一行文本

echo命令在构建shell脚本时扮演着重要的角色。

语法:

# echo [Options] [String]

方括号中的项目是可选的。字符串可以定义为字符的有限序列(如字母,数字,符号,标点符号)。

当echo命令不带任何选项或字符串使用时,它会在显示屏上返回一个空白行,后面换一行跟上命令提示符。这是因为按下回车键就是发送一个信号给系统以开始一个新行,而echo重复了该信号。

选项:

  • -n 不要输出衍生的新行
  • -e 启用反斜线转义解释
  • -E 禁用反斜线转义解释(默认)

如果使用-e选项,则可以使用如下转义序列:

  • \ 反斜线
  • \a 警告(BEL)
  • \b 反斜线
  • \c 不产生进一步输出
  • \e 转义
  • \f 换页
  • \n 新行
  • \r 换行字符
  • \t 水平制表
  • \v 垂直制表
  • \0NNN 八进制值表示的字节NNN(1到3个数字)
  • \xHH 十六进制值表示的字节NNN(1到2个数字)

样例:1 显示系统定义的变量的值

使用set命令,我们可以列出系统定义的变量。而要打印这些变量的值,我们可以使用echo命令:

jack@localhost:~$ echo $USER
jack
jack@localhost:~$ echo $HOME
/home/jack

样例:2 显示用户定义的变量的值

jack@nextstep4it:~$ var1=`date`
jack@nextstep4it:~$ echo "Today's date  time is : $var1"
Today's date  time is : Mon Jul 28 13:11:37 IST 2014

样例:3 显示文本字符串

jack@nextstep4it:~$ echo " Hi this echo command testing"
Hi this echo command testing

样例:4 在echo命令中使用反斜线

jack@nextstep4it:~$ echo -e "Ubuntu \bis \bthe \bbest \bDesktop \bOS"

上述命令将打印:

UbuntuisthebestDesktopOS

样例:5 在echo命令中使用制表符空格

nextstep4it@nextstep4it:~$ echo -e "Ubuntu \tis \tthe \tbest \tDesktop \tOS"

上述命令将显示如下输出:

Ubuntu is the best Desktop OS

样例:6 在echo命令中使用垂直制表符

jack@nextstep4it:~$ echo -e "Ubuntu \vis \vthe \vbest \vDesktop \vOS"
Ubuntu
       is
              the
                     best
                            Desktop
                                          OS

样例:7 设置echo命令彩色输出

echo命令可以修改字体类型,字体背景色以及字体颜色,转义序列\033可以用于改变字体属性。要使转义序列生效,必须使用-e选项。下面列出了部分转义代码:

  • [0m: 正常
  • [1m: 粗体
  • [4m: 字体加上下划线
  • [7m: 逆转前景和背景色
  • [8m: 不可见字符
  • [9m: 跨行字体
  • [30m: 灰色字体
  • [31m: 红色字体
  • [32m: 绿色字体
  • [33m: 棕色字体
  • [34m: 蓝色字体
  • [35m: 紫色字体
  • [36m: 浅蓝色字体
  • [37m: 浅灰字体
  • [38m: 黑色字体
  • [40m: 黑色背景
  • [41m: 红色背景
  • [42m: 绿色背景
  • [43m: 棕色背景
  • [44m: 蓝色背景
  • [45m: 紫色背景
  • [46m: 浅蓝色背景
  • [47m: 浅灰色背景

下面的命令将用红色打印输出。

jack@nextstep4it:~$ echo -e "\033[31mMagic of Linux\033[0m"
Magic of Linux

下面的命令将以粗体以及红色背景打印出“Magic of Linux”。

nextstep4it@nextstep4it:~$ echo -e "\033[1m\033[41mMagic of Linux\033[0m"
Magic of Linux

via: http://www.nextstep4it.com/categories/unix-command/echo-command/

译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出