Linux基础命令之echo(涉及bash命令引用及替换部分内容)

echo是Linux中较为常见的命令,特别是在bash的脚本编写中它的灵活运用是必不可少的。

在man手册中的解释是:display a line of text,翻译过来就是回显或者再通俗点说就是显示字符或数字。解释看起来很简单,不过这个命令可以实现的功能却很丰富。

我之所以写关于echo的内容是因为一项作业,作业的内容是让显示一个由任意字符组成的倒三角图形,且要求字符闪烁并有字体颜色跟背景色。

这个作业先搁置一边稍后再解决。

先介绍下echo的基本信息

以下是从CentOS-6.8中的man手册里截取的echo命令使用信息。

NAME   命令名
       echo - display a line of text   展示一行文字,即回显

SYNOPSIS   命令的使用格式
       echo [SHORT-OPTION]... [STRING]...  echo [短格式]...[字符串]...
       echo LONG-OPTION                    echo 长格式

DESCRIPTION    命令描述
       Echo the STRING(s) to standard output.  echo字符串至标准输出

       -n     do not output the trailing newline   输出后不换行

       -e     enable interpretation of backslash escapes 使转义字符生效

       -E     disable interpretation of backslash escapes (default) 禁用转义字符

       --help display this help and exit  显示使用帮助即退出信息

       --version                       版本
              output version information and exit  输出所用版本信息
        
        If -e is in effect, the following sequences are recognized: 如果-e生效后,如下的转移字符就可以被识别

       \\     backslash   反斜线转义符
       
       \a     alert (BEL) 提示符

       \b     backspace  退格符

       \c     produce no further output 

       \e     escape 逃逸符

       \f     form feed

       \n     new line  换行符

       \r     carriage return  

       \t     horizontal tab 水平制表符

       \v     vertical tab  垂直制表符

以上是echo的命令及常用的使用信息。

这里可以看出来echo的命令最丰富的是在于-e使转义符生效。在-e模式下我们可以丰富字符的输出形式,比如让字符闪烁,有背景色与字体颜色。

下面我展示下我作业的一段命令来详细说明-e模式下的echo功能。

echo -e "\033[0m   \033[45;32;5m***\033[0m\n    \033[45;32;5m*\033[0m"

看起来很炫吧。

下面来对

echo -e "\033[0m   \033[45;32;5m***\033[0m\n    \033[45;32;5m*\033[0m"

进行详细的解析,以便大家对其有更清晰的认识

解释:echo -e前面已有很明确的介绍,这里就不多介绍。它的作用是开启转义字符功能

“”因为它的缘故这里先解释下bash里面的引用

bash里面引用分一下几种

$()是命令引用

# echo $(date)
2016年 07月 25日 星期一 14:37:12 CST

它显示的是date这个命令的执行结果信息

``跟$()是一样的

‘’ 弱引用:输入的东西显示输入的字符串

#echo ‘date‘
date

这里显示的date这个字符串

“” 强引用

单条命令中常用到,使其中间的转义字符生效。

${}是变量引用

#TEX=tex
# echo ${TEX}
tex

显示变量内容

这部分内容看完相信大家对于bash的命令引用与替换会有了初步的认识,凭借这些认识,我们应该可以了解为什么在-e模式下使用“”引号吧。实在不知道也没关系,记住就行

"\033"引导非常规字符序列(即"\033["表示终端转义字符开始,"m"意味着设置属性然后结束非常规字符序列,里面有实际作用的字符是45;32;5和0,修改45;32;5可以修改不同的颜色组合,及显示形式。45;32;5这几个数字位置可以任意改动。

编码          颜色/动作
          0            重新设置属性到缺省设置
          1            设置粗体
          2            设置一半亮度(模拟彩色显示器的颜色)
          4            设置下划线(模拟彩色显示器的颜色)
          5            设置闪烁
          7            设置反向图象
          22           设置一般密度
          24           关闭下划线
          25           关闭闪烁
          27           关闭反向图象
          30           设置黑色前景
          31           设置红色前景
          32           设置绿色前景
          33           设置黄色前景
          34           设置蓝色前景
          35           设置紫色前景
          36           设置青色前景
          37           设置白色(灰色)前景
          38           在缺省的前景颜色上设置下划线
          39           在缺省的前景颜色上关闭下划线
          40           设置黑色背景
          41           设置红色背景
          42           设置绿色背景
          43           设置黄色背景
          44           设置蓝色背景
          45           设置紫色背景
          46           设置青色背景
          47           设置白色(灰色)背景
          49           设置缺省黑色背景

echo -e "\033[0m   \033[45;32;5m***\033[0m\n    \033[45;32;5m*\033[0m"

我这里使用了45设置其背景色为紫色,32设置字体颜色也就是前景颜色为绿色,5表示闪烁模式。0m表示字符效果到此结束。

第一个\033[0m后有两个空格,因为不想让小三角靠边显示;

第二个\033[45;32;5m***显示背景为紫字体为绿且闪烁的三个***;

第三个\033[om\n之所以加\n是因为最后一个*要换行,换行后还要接三个空格;

第四个\033[45;32;5m*显示背景为紫字体为绿且闪烁的一个*;

第五个\033[0m字符效果到此结束。

查找的资料:

http://blog.csdn.net/qualcent/article/details/7106483 echo使用信息

http://www.linuxidc.com/Linux/2015-05/117259.htm Linu命令引用与替换

CentOS6.8中man手册

时间: 2024-12-23 04:10:34

Linux基础命令之echo(涉及bash命令引用及替换部分内容)的相关文章

linux基础学习-18-linux三剑客之awk命令精讲

快捷跳转目录: * 第1章:awk基础入门       * 1.1:awk简介 * 1.2:学完awk你可以掌握: * 1.3:awk环境简介 * 1.4:awk的格式 * 1.5:模式动作 * 1.6:awk的执行过程 * 1.6.1:小结awk执行过程 * 1.7:记录和字段 * 1.7.1:记录(行) * 1.7.2:记录分隔符-RS * 1.7.3:对$0的认识 * 1.7.4:企业面试题 * 1.7.5:awk记录知识小结 * 1.7.6:字段(列) * 1.7.7:ORS与OFS简介

大数据每日干货第四天(linux基础之一目录结构与常用命令)

为了和qq空间同步,也写的第四天,前面几天明天会发布,本来打算把每天学的东西记录下来,通过朋友给的建议要发的话稍微系统化下,从大数据需要的linux基础,到离线数据分析包括hadoop.hive.flume.hbase等,再到实时数据分析包括storm.kafka.redias等,最后的内存计算部分包括scala.spark.机器学习,这样循序渐进,能够系统化学习. linux基础部分会分几天进行分享,今天主要讲解的是linux介绍,目录机构与常用的命令. 1.linux介绍 lLinux是一种

linux基础-第八单元 正文处理命令及tar命令

第八单元 正文处理命令及tar命令 使用cat命令进行文件的纵向合并 两种文件的纵向合并方法 归档文件和归档技术 归档的目的 什么是归档 tar命令的功能 tar命令的常用选项 使用tar命令创建.查看及抽取归档文件 使用tar命令创建归档文件 使用tar命令查看归档文件 使用tar命令抽取归档文件 文件的压缩和解压缩 什么是压缩 压缩的目的 什么是解压缩 gzip命令和gunzip命令 bzip2命令和bunzip2命令 在使用tar命令的同时进行压缩和解压缩 在使用tar命令的同时进行压缩和

Linux基础知识之echo命令详解

echo命令 功能:显示字符 语法:echo [-neE][字符串] 说明:echo 会将输入的字符串送往标准输出.输出的字符串间以空白字符隔开,  并在最后加上换行号 echo "$VAR_NAME":  变量会替换,双引号表弱引用 echo '$VAR_NAME':  变量不会替换,强引用 $echo –e "Enter the file name: \c" echo  需要使用-e  参数来打印转义字符. echo命令选项: -n:不在字符的最后,自动换行 -

Linux基础(8)关于bash的配置文件

shell的类型除了图形shell和命令行shell之外,从登陆者的角度又可以划分为登陆式shell以及非登录式shell. 登录式shell:  三种情况 1.正常通过某个终端登陆的shell 2.su - username 3.su -l username 非登录式shell: 1.su username 2.图形终端下打开的命令行窗口 3.自动执行的shell脚本 对于我们最常用的bash的许多特性是由配置文件决定的.bash的配置文件分为两种:全局配置,个人配置 1.全局配置文件 /et

【批处理命令】echo回显命令

echo echo                                   当前状态,是开启还是关闭 echo   [on/off]                     打开或关闭echo echo   [message]                回显message内容 [@]echo                              本条命令是否回显 echo  [message]>文件        将message写到文件中,清空写入 echo  [messa

bash的工作特性之命令执行状态返回值和命令行展开所涉及的内容及其示例演示。

bash特性:命令执行状态返回值 bash命令的执行状态分为两种:?1. 成功,状态返回值为0.?2. 失败,状态返回值为1-255.bash使用特殊变量$?保存最近一条命令的执行状态结果:echo $? bash命令的执行结果:成功 bash命令的执行结果:成功 bash命令的执行结果:失败 bash命令的执行结果:失败 bash特性:命令行展开 ~:可以展开当前登录用户的家目录.~USERNAME:可以展开指定用户的家目录.{}:分组符号,承载以逗号,为分割符号的路径列表,并将其展开为多个路

Linux基础之-利用shell脚本实现自动监控系统服务

目的:监控集群内nginx及nfs服务运行是否正常,如任一服务异常,则发送邮件通知用户 条件:1. 主机及子机IP地址,hostname已确定: 2. 主机与子机能够免密通讯,即基于密匙通讯(相关命令:ssh-keygen;ssh-copy-id -i web1); 需要的文件:    1. python邮件发送工具: 2. nfc.sh监控脚本,监控nginx及nfs服务状态,并调用mail发送工具通知用户: 3. nfc-install.sh监控部署脚本,运行在主机,为子机配置文件,执行命令

大数据成神之路-Linux基础

Linux命令 我是小白,我从来没玩过Linux,请点这里: https://user-gold-cdn.xitu.io/2019/2/24/1691e1dda7807059 推荐的一个Git仓库 我有些基础,推荐一个快速查询命令的手册,请点这里: https://github.com/jaywcjlove/linux-command 大数据成神之路目录 大数据开发基础 Java基础 NIO 并发 JVM 分布式 Zookeeper RPC Netty Java基础 NIO 并发容器 JVM 分