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

相关文章

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

30常用 Maven 命令

Maven 是一个强大的项目管理和构建工具,它广泛用于 Java 项目的依赖管理、构建流程和插件集成。Maven 的命令行工具提供了大量的命令来帮助开发人员管理项目的生命周期、依赖和插件。以下是 常用 Maven 命令的使用场景及其详细解释。 1. mvn clean 使用场景:清理项目的生成目录,通常用于删除项目中自动生成的文件(如 target/ 目录)。共性规律:清理操作

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

bytes.split的用法和注意事项

当然,我很乐意详细介绍 bytes.Split 的用法和注意事项。这个函数是 Go 标准库中 bytes 包的一个重要组成部分,用于分割字节切片。 基本用法 bytes.Split 的函数签名如下: func Split(s, sep []byte) [][]byte s 是要分割的字节切片sep 是用作分隔符的字节切片返回值是一个二维字节切片,包含分割后的结果 基本使用示例: pa

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者

linux 判断某个命令是否安装

linux 判断某个命令是否安装 if ! [ -x "$(command -v git)" ]; thenecho 'Error: git is not installed.' >&2exit 1fi

centos6一键安装vsftpd脚本

centos6一键安装vsftpd脚本 手动安装vsftpd参考教程:Centos下安装Vsftpd的图文教程 vsftpd脚本功能: 1.安装 (命令执行:sh xxx.sh)2.添加ftp用户 (命令执行:sh xxx.sh add)3.卸载vsftpd (命令执行:sh xxx.sh uninstall) 测试环境:centos6 x64 centos6 x86(测试centos7以

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

UVM:callback机制的意义和用法

1. 作用         Callback机制在UVM验证平台,最大用处就是为了提高验证平台的可重用性。在不创建复杂的OOP层次结构前提下,针对组件中的某些行为,在其之前后之后,内置一些函数,增加或者修改UVM组件的操作,增加新的功能,从而实现一个环境多个用例。此外还可以通过Callback机制构建异常的测试用例。 2. 使用步骤         (1)在UVM组件中内嵌callback函

Android逆向(反调,脱壳,过ssl证书脚本)

文章目录 总结 基础Android基础工具 定位关键代码页面activity定位数据包参数定位堆栈追踪 编写反调脱壳好用的脚本过ssl证书校验抓包反调的脚本打印堆栈bilibili反调的脚本 总结 暑假做了两个月的Android逆向,记录一下自己学到的东西。对于app渗透有了一些思路。 这两个月主要做的是代码分析,对于分析完后的持久化等没有学习。主要是如何反编译源码,如何找到