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

相关文章

MyBatis 动态 SQL 优化之标签的实战与技巧(常见用法)

《MyBatis动态SQL优化之标签的实战与技巧(常见用法)》本文通过详细的示例和实际应用场景,介绍了如何有效利用这些标签来优化MyBatis配置,提升开发效率,确保SQL的高效执行和安全性,感... 目录动态SQL详解一、动态SQL的核心概念1.1 什么是动态SQL?1.2 动态SQL的优点1.3 动态S

java之Objects.nonNull用法代码解读

《java之Objects.nonNull用法代码解读》:本文主要介绍java之Objects.nonNull用法代码,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录Java之Objects.nonwww.chinasem.cnNull用法代码Objects.nonN

JavaScript Array.from及其相关用法详解(示例演示)

《JavaScriptArray.from及其相关用法详解(示例演示)》Array.from方法是ES6引入的一个静态方法,用于从类数组对象或可迭代对象创建一个新的数组实例,本文将详细介绍Array... 目录一、Array.from 方法概述1. 方法介绍2. 示例演示二、结合实际场景的使用1. 初始化二

一文带你了解SpringBoot中启动参数的各种用法

《一文带你了解SpringBoot中启动参数的各种用法》在使用SpringBoot开发应用时,我们通常需要根据不同的环境或特定需求调整启动参数,那么,SpringBoot提供了哪些方式来配置这些启动参... 目录一、启动参数的常见传递方式二、通过命令行参数传递启动参数三、使用 application.pro

关于@RequestParam的主要用法详解

《关于@RequestParam的主要用法详解》:本文主要介绍关于@RequestParam的主要用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1. 基本用法2. 默认值3. 可选参数4. 绑定到对象5. 绑定到集合或数组6. 绑定到 Map7. 处理复杂类

SQL中的CASE WHEN用法小结

《SQL中的CASEWHEN用法小结》文章详细介绍了SQL中的CASEWHEN函数及其用法,包括简单CASEWHEN和CASEWHEN条件表达式两种形式,并通过多个实际场景展示了如何使用CASEWH... 目录一、简单CASE WHEN函数:二、CASE WHEN条件表达式函数三、常用场景场景1:不同状态展

Linux find 命令完全指南及核心用法

《Linuxfind命令完全指南及核心用法》find是Linux系统最强大的文件搜索工具,支持嵌套遍历、条件筛选、执行动作,下面给大家介绍Linuxfind命令完全指南,感兴趣的朋友一起看看吧... 目录一、基础搜索模式1. 按文件名搜索(精确/模糊匹配)2. 排除指定目录/文件二、根据文件类型筛选三、时间

Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)

《Java导入、导出excel用法步骤保姆级教程(附封装好的工具类)》:本文主要介绍Java导入、导出excel的相关资料,讲解了使用Java和ApachePOI库将数据导出为Excel文件,包括... 目录前言一、引入Apache POI依赖二、用法&步骤2.1 创建Excel的元素2.3 样式和字体2.

使用mvn deploy命令上传jar包的实现

《使用mvndeploy命令上传jar包的实现》本文介绍了使用mvndeploy:deploy-file命令将本地仓库中的JAR包重新发布到Maven私服,文中通过示例代码介绍的非常详细,对大家的学... 目录一、背景二、环境三、配置nexus上传账号四、执行deploy命令上传包1. 首先需要把本地仓中要

kotlin中的行为组件及高级用法

《kotlin中的行为组件及高级用法》Jetpack中的四大行为组件:WorkManager、DataBinding、Coroutines和Lifecycle,分别解决了后台任务调度、数据驱动UI、异... 目录WorkManager工作原理最佳实践Data Binding工作原理进阶技巧Coroutine