Shell脚本的echo命令用法

2024-06-19 03:08
文章标签 命令 用法 shell 脚本 echo

本文主要是介绍Shell脚本的echo命令用法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在使用shell脚本之前,我们是否应该先通俗的了解一下shell是什么呢?shell可以理解为命令解释器。我们知道,如果我们想要计算机去做一件事儿,就得告诉它。但是计算机内核不可能直接识别我们的命令,所以shell就是介于内核和用户交互之间的中间层,接收用户输入的命令,解释给内核执行。一般来说就像windows操作系统,你点击鼠标可能就会完成一个操作,实际这些图形下面就是shell了。该系统下的命令窗口的dos语言就是一种shell。常见得比如Linux和Unix系统里面的bash,ksh,csh等。所谓的shell脚本就是将很多的shell命令语句集合在一个文件中,来完成一些较复杂的错做。


      在Shell脚本编程中,echo命令是用来输出一些字符串,用作提示。下面就简单介绍下它的基本用法,以后有补充的再扩充。下面的图片示例中,"#"是注释符

基本的语法为:    echo  [-en]  String             #     -e 转义反斜扛字符    -n 禁止换行

常用的几种输出格式:

1.显示普通字符串

例如: 

  echo "It is a test"  结果是: It is a test

       这个字符串可以加双引号也可以加单引号也可以不加,区别是:当使用单引号时,里面是什么就输出什么,即使有转义字符也不识别。当使用双引号时,可以识别转义字符。如果不加引号,则将字符串中的单个单词作为字符串输出,各个字符串之间用一个空格分割。

例如:

echo "\"It is a test\"" 结果是: "It is a test"

2.显示至定向文件

例如:

  echo "It is a test" > myfile    # >后面跟文件名

3.显示(不)换行(图片来源)

例如:

#!/bin/sh
echo -e "OK! \c"               # -e 开启转义 \c 不换行
echo "It is a test"
  echo -e "OK!\n"              # -e 开启转义  \n换行echo "It it a test"  

另外,echo常用的转义字符如下:

参数 说明
              \a 闹铃             
              \b 退格(即删除前一个字符)
              \c 强制换行
              \e 退出
              \f                    Formfeed(没验证还,不知道神马意思回头再改)     
              \n 换行
              \t 水平制表符
              \v 垂直制表符
              \\ 反斜扛                     
              \"  双引号                           
             \nnn            插入nnn"八进制"所代表的ASCII字符            

完整的ASCII码对照表



Shell脚本的执行过程(图片来源)

shell的转义符

字符 说明
‘’(单引号) 又叫硬转义,其内部所有的shell 元字符、通配符都会被关掉。注意,硬转义中不允许出现’(单引号)。
“”(双引号) 又叫软转义,其内部只允许出现特定的shell 元字符:$用于参数代换 `用于命令代替
\(反斜杠)   又叫转义,去除其后紧跟的元字符或通配符的特殊意义。
这些转义符用在我们想让通配符变为普通字符的时候使用。在有通配符和特殊字符的情况下,shell得到一条命令后如何执行的呢?

1

      如图所示我们可以看到,双引号经过参数扩展,命令行代换和算术代换后进入执行步骤,而单引号转义字符直接进入执行步骤。两个在shell检测过程中跳过了不同数量的步骤。




这篇关于Shell脚本的echo命令用法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1073833

相关文章

SQL Server中的PIVOT与UNPIVOT用法具体示例详解

《SQLServer中的PIVOT与UNPIVOT用法具体示例详解》这篇文章主要给大家介绍了关于SQLServer中的PIVOT与UNPIVOT用法的具体示例,SQLServer中PIVOT和U... 目录引言一、PIVOT:将行转换为列核心作用语法结构实战示例二、UNPIVOT:将列编程转换为行核心作用语

Java中 instanceof 的用法详细介绍

《Java中instanceof的用法详细介绍》在Java中,instanceof是一个二元运算符(类型比较操作符),用于检查一个对象是否是某个特定类、接口的实例,或者是否是其子类的实例,这篇文章... 目录引言基本语法基本作用1. 检查对象是否是指定类的实例2. 检查对象是否是子类的实例3. 检查对象是否

Java中的内部类和常用类用法解读

《Java中的内部类和常用类用法解读》:本文主要介绍Java中的内部类和常用类用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录内部类和常用类内部类成员内部类静态内部类局部内部类匿名内部类常用类Object类包装类String类StringBuffer和Stri

Python 异步编程 asyncio简介及基本用法

《Python异步编程asyncio简介及基本用法》asyncio是Python的一个库,用于编写并发代码,使用协程、任务和Futures来处理I/O密集型和高延迟操作,本文给大家介绍Python... 目录1、asyncio是什么IO密集型任务特征2、怎么用1、基本用法2、关键字 async1、async

CentOS和Ubuntu系统使用shell脚本创建用户和设置密码

《CentOS和Ubuntu系统使用shell脚本创建用户和设置密码》在Linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设置密码,本文写了一个shell... 在linux系统中,你可以使用useradd命令来创建新用户,使用echo和chpasswd命令来设

redis中使用lua脚本的原理与基本使用详解

《redis中使用lua脚本的原理与基本使用详解》在Redis中使用Lua脚本可以实现原子性操作、减少网络开销以及提高执行效率,下面小编就来和大家详细介绍一下在redis中使用lua脚本的原理... 目录Redis 执行 Lua 脚本的原理基本使用方法使用EVAL命令执行 Lua 脚本使用EVALSHA命令

SpringBoot3.4配置校验新特性的用法详解

《SpringBoot3.4配置校验新特性的用法详解》SpringBoot3.4对配置校验支持进行了全面升级,这篇文章为大家详细介绍了一下它们的具体使用,文中的示例代码讲解详细,感兴趣的小伙伴可以参考... 目录基本用法示例定义配置类配置 application.yml注入使用嵌套对象与集合元素深度校验开发

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

Java中的@SneakyThrows注解用法详解

《Java中的@SneakyThrows注解用法详解》:本文主要介绍Java中的@SneakyThrows注解用法的相关资料,Lombok的@SneakyThrows注解简化了Java方法中的异常... 目录前言一、@SneakyThrows 简介1.1 什么是 Lombok?二、@SneakyThrows

Python中的getopt模块用法小结

《Python中的getopt模块用法小结》getopt.getopt()函数是Python中用于解析命令行参数的标准库函数,该函数可以从命令行中提取选项和参数,并对它们进行处理,本文详细介绍了Pyt... 目录getopt模块介绍getopt.getopt函数的介绍getopt模块的常用用法getopt模