echo命令使用详解

    echo命令用于在shell中打印shell变量的值,或者直接输出指定的字符串。linuxecho命令,在shell编程中极为常用,在终端下打印变量的时候也是常常用到的,因此有必要了解下echo的用法。


语法:

• 语法: echo [-neE][字符串]

 

命令选项:

     -n 不在字符的最后自动换行

     -e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出

\a 发出警告声

\b 退格键,删除前一个字符

\c 最后不加上换行符号,输出字符串后不换行

\f 换行但光标仍旧停留在原来的位置

\n 换行且光标移至行首

\r 回车,即光标移至行首, 但不换行

\t 插入tab

\\ 插入\字符

\0nnn 插入nnn(八进制)所代表的ASCII字符

\xHH插入HH(十六进制)所代表的ASCII字符

 

实例:

使用echo输出普通字符串

[root@localhost ~]# echo hello world
hello world
[root@localhost ~]# echo "hello world"
hello world
[root@localhost ~]# echo 'hello world'
hello world

使用echo输出变量

echo "$VAR_NAME": 变量会替换,双引号表弱引用

echo '$VAR_NAME': 变量不会替换,强引用

[root@localhost ~]# name=tom
[root@localhost ~]# echo "name"
name
[root@localhost ~]# echo "$name"
tom
[root@localhost ~]# echo '$name'
$name

 

echo需要使用-e 参数来打印转义字符.

[root@localhost ~]# echo -e "enter the file name:\c"
enter the file name:[root@localhost ~]# 
[root@localhost ~]# echo -e "Welcome \nWelcome"
Welcome 
Welcome

echo输出ASCII

[root@localhost ~]# echo -e "\0100"
@
[root@localhost ~]# echo -e "\0110"
H
[root@localhost ~]# echo -e "\0120"
P

命令行扩展、被括起来的集合

命令行扩展: $( ) 或 ``
把一个命令的输出打印给另一个命令的参数
[root@localhost ~]# echo "This system's name is $(hostname)"
This system's name is localhost.localdomain
[root@localhost ~]# echo "i am `whoami`"
i am root

括号扩展: { }

   打印重复字符串的简化形式

[root@localhost ~]# echo {1..10}
1 2 3 4 5 6 7 8 9 10
[root@localhost ~]# echo st{1..10}
st1 st2 st3 st4 st5 st6 st7 st8 st9 st10

echo命令打印输出带有颜色的文字

echo命令使用详解 

或者

echo命令使用详解 

 

要使输出的内容加上颜色输出需要使用-e”选项

• \033[43;31m 或者 \e[43;31m

将颜色设置为背景黄色、文字红色

43为背景色,31为文字颜色;设置时可以互换位置

• \033[0m 或者 \e[0m

将颜色重新复位,如果不复位后面输出文字也会颜色输出

 

文字颜色码:

重置=0,黑色=30,红色=31,绿色=32,黄色=33,蓝色=34,洋红=35,青色=36,白色=37

背景颜色码:

重置=0,黑色=40,红色=41,绿色=42,黄色=43,蓝色=44,洋红=45,青色=46,白色=47

 

其他属性:

0 关闭所有属性

1 设置高亮度(加粗)

4 下划线

5 闪烁

7 反显

8 消隐


echo命令使用详解 

 

[root@localhost ~]# echo -e "\e[0;31;0mWWWW\e[0m" 无颜色 

[root@localhost ~]# echo -e "\e[0;31;1mWWWW\e[0m" 红色

[root@localhost ~]# echo -e "\e[0;31;2mWWWW\e[0m" 浅红色

[root@localhost ~]# echo -e "\e[0;31;4mWWWW\e[0m" 浅红色下划线

[root@localhost ~]# echo -e "\e[0;31;5mWWWW\e[0m" 浅红色闪烁

[root@localhost ~]# echo -e "\e[0;31;7mWWWW\e[0m" 红色填充


echo命令使用详解 

 

echo的其他用法:

    \033[nA    光标上移n行

    \033[nB    光标下移n行

    \033[nC    光标右移n行

    \033[nD    光标左移n行

    \033[y;xH   设置光标位置

    \033[2J    清屏

    \033[K      清除从光标到行尾的

    \033[s      保存光标位置   

    \033[u      恢复光标位置   

    \033[?25l  隐藏光标   

    \033[?25h  显示光标

 

echo命令使用详解 

 

原创文章,作者:cyh5217,如若转载,请注明出处:http://www.178linux.com/38648

(2)
cyh5217cyh5217
上一篇 2016-08-22 08:44
下一篇 2016-08-22 08:44

相关推荐

  • 用keepalived高可用LVS-dr模型

    环境四个虚拟机 Real server:node1:172.16.100.6         CeotOS 6 Real server:node3:172.16.100.69         CeotOS 7 Director1:172.16.100.67                        CeotOS 7 Director1:172.16.10…

    Linux干货 2017-10-15
  • linux文本编辑利器-vim

    概述 Vim是从vi发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用,和Emacs并列成为类Unix系统用户最喜欢的文本编辑器。Vim强大的编辑能力中很大部分是来自于其普通模式命令。vim的设计理念是命令的组合。例如普通模式命令"dd"删除当前行,"dj"代表删除到下一行…

    Linux干货 2016-08-11
  • rsyslog日志记录服务器

    rsyslog日志记录服务器 部分思路总结摘自网络http://xuding.blog.51cto.com/4890434/1737947 一、syslog系统 1.syslog:系统日志服务,统一日志管理 支持C/S架构:可通过UDP或TCP协议提供日志记录服务;实现集中收集日志功能 (1)日志、事件 历史事件日志,保存系统上过去一段时间的发生的事件 事件…

    Linux干货 2016-11-07
  • 系统管理之网络管理

    今天给大家分享一些网络方面的知识,,这块的知识很重要哦,都是涉及网络最底层的链路和协议,是我们学习大型服务的基础,和前提.希望大家努力理解这方面的内容,今天的内容大概有这几方面: 1.计算机网络概念 2.计算机网络体系结构 3.物理层 4.数据链路层 5.网络层 6.IP地址及子网 7.传输层 8.应用层 计算机网络概念 计算机网络是个发展中的概念和技术,具…

    Linux干货 2016-09-05
  • 网络这块一些有趣的感想

    还记的那天老师让我们做两台主机的nexthop就是自己的ip地址,然后互相ping测试能否互相联通的实验,昨晚之后我就在想能不能进行一些改进,因为在我看来这种级别的互相ping的前面一个网络段相同太没意思了。 接着我就尝试了几种IP地址 主机A 主机B 192.0.0.1 192.1.0.1 192.1.1.1 192.2.2.2 192.2.1.1 192…

    Linux干货 2016-09-13
  • 建立yum源及yum命令的使用

    一、什么是YUM     YUM的全称为 Yellowdog Update Modifier,其主要目的是为了解决RPM包安装时的依赖关系的问题。YUM只是一个用于软件安装的前端工具,其主要的服务对象还是RPM软件包。     YUM采用C/S架构,即客户端与服务器的模…

    Linux干货 2015-05-11