Linux echo命令详解

linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

功能说明:显示文字。
语   法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。
参   数:-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般
文字输出:
   \a 发出警告声;
   \b 删除前一个字符;
   \c 最后不加上换行符号;
   \f 换行但光标仍旧停留在原来的位置;
   \n 换行且光标移至行首;
   \r 光标移至行首,但不换行;
   \t 插入tab;
   \v 与\f相同;
   \\ 插入\字符;
   \nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息

语法:

  1. # 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个数字)

不同应用场景的10个Linux面试问题与解答 http://www.linuxidc.com/Linux/2014-04/99710.htm

10个核心的Linux面试问题与答案 http://www.linuxidc.com/Linux/2014-04/100447.htm

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

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

  1. jack@localhost:~$ echo $USER
  2. jack
  3. jack@localhost:~$ echo $HOME
  4. /home/jack

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

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

样例:3 显示文本字符串

  1. jack@nextstep4it:~$ echo " Hi this echo command testing"
  2. Hithis echo command testing

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

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

上述命令将打印:

UbuntuisthebestDesktopOS

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

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

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

Ubuntu is the best Desktop OS

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

  1. jack@nextstep4it:~$ echo -"Ubuntu \vis \vthe \vbest \vDesktop \vOS"
  2. Ubuntu
  3. is
  4. the
  5. best
  6. Desktop
  7. 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: 浅灰色背景

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

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

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

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

shell 下使用 echo 打印彩色字体及彩色背景 http://www.linuxidc.com/Linux/2014-07/104776.htm

Linux命令之终端打印 - echo http://www.linuxidc.com/Linux/2014-04/99571.htm

Linux中的15个‘echo’ 命令实例 http://www.linuxidc.com/Linux/2014-10/107550.htm

本文永久更新链接地址http://www.linuxidc.com/Linux/2014-08/105548.htm

posted @ 2017-07-08 21:04  热爱技术的小牛  阅读(32403)  评论(1编辑  收藏  举报
热爱技术的小牛