【Linux 专栏】echo命令实验

 风123456789~-CSDN博客  

 最近文章阅读排行榜 

【爬虫基础】第一部分 网络通讯 P1/3-CSDN博客

【爬虫基础】第一部分 网络通讯-Socket套接字 P2/3-CSDN博客

【Linux专栏】find命令+同步 实验-CSDN博客

【Linux运维】非root用户的单向免密登录_linux 单向免密-CSDN博客

【Linux运维】服务器信息查询_linux 查询机器所有信息脚本-CSDN博客

【Oracle专栏】客户端expdp 实验验证-CSDN博客

【Oracle专栏】DBMS_CRYPTO 加密包、AES加解密_oracle aes解密-CSDN博客


1.背景 

           echo是一个常用的输出命令,它可以将指定的字符串或变量输出到终端

      需求:在跑批脚本结束,通常需要打印当前时间到文件中,方便查看。

      本文以Linux 终端输出字符串 和 时间为例进行实验,虽然简单,整理一下。

2. 实验

2.1 实验:date

date       

说明:linux 输入date,默认输出当前的日期+星期+时间

date  +"格式"  或 date “+格式”

说明:按制定格式输出需要的日期及时间

[oracle@neptune ~]$ date
Fri Feb 21 14:16:11 CST 2025
[oracle@neptune ~]$ date "+%Y-%m-%d %H:%M:%S"
2025-02-21 14:16:19
[oracle@neptune ~]$ date +"%Y-%m-%d %H:%M:%S"
2025-02-21 14:16:29
[oracle@neptune ~]$ date "+%Y-%m-%d"
2025-02-21
[oracle@neptune ~]$ date "+%F"
2025-02-21
[oracle@neptune ~]$ date "+%F %T %A"
2025-02-21 14:21:23 Friday

结果截图: 

2.2 实验 echo 时间

(1)简单输出

输出年月日:echo $(date +%F)输出时分:echo $(date +%R)输出时分秒:echo $(date +%T)输出星期:echo $(date +%A)

结果截图: 

(2)输出多个格式

需要用双引号包起来,否则报错.

[oracle@neptune ~]$ echo $(date "+%F %T %A")
2025-02-21 14:26:52 Friday
[oracle@neptune ~]$
[oracle@neptune ~]$ echo $(date +%F %T %A)
date: extra operand ‘%T’
Try 'date --help' for more information.[oracle@neptune ~]$

结果截图:

(3)组合格式输出

[oracle@neptune ~]$ echo $(date +"%Y-%m-%d %H:%M:%S")
2025-02-21 14:31:07
[oracle@neptune ~]$ echo $(date +"%Y-%m-%d %H:%M:%S %A")
2025-02-21 14:31:16 Friday
[oracle@neptune ~]$ echo $(date +"%F %T %A")
2025-02-21 14:31:28 Friday
[oracle@neptune ~]$ echo `date`
Fri Feb 21 14:36:38 CST 2025
[oracle@neptune ~]$
[oracle@neptune ~]$ echo `date +%F`
2025-02-21
[oracle@neptune ~]$ echo `date +%F %T`
date: extra operand ‘%T’
Try 'date --help' for more information.[oracle@neptune ~]$ echo `date "+%F %T"`
2025-02-21 14:37:44
[oracle@neptune ~]$ 

结果截图:

2.3 实验 echo 字符串

echo "Hello, World"     或  echo Hello, World

说明:linux 输出字符串,直接跟在echo之后即可,可加双引号 或不加。

echo "Hello," "ZhangSan"

说明:linux 输出字符串拼接。

first_name="John"

last_name="Doe"

echo "Full name: $first_name $last_name"

拼接多个变量和字符串,只需将它们按顺序放在echo命令中。

echo "Hello, $name"

说明:linux 输出字符串,同时字符串中有变量。

注意:

单引号‌:其中的内容会被原样输出,不会解析变量和特殊字符。

双引号‌:其中的内容会被解析,变量和特殊字符会被替换为相应的值。

[oracle@neptune ~]$ name=1
[oracle@neptune ~]$ echo "The name is $name ian"
The name is 1 ian
[oracle@neptune ~]$ echo 'The name is $name ian'
The name is $name ian
[oracle@neptune ~]$

(1)字符串无变量 

[oracle@neptune ~]$ echo ss
ss
[oracle@neptune ~]$ echo "ss"
ss
[oracle@neptune ~]$ echo "ss" "你好"
ss 你好
[oracle@neptune ~]$ echo "ss""你好"
ss你好
[oracle@neptune ~]$ echo "ss""你好"",欢迎"
ss你好,欢迎
[oracle@neptune ~]$ echo ss 你好,欢迎
ss 你好,欢迎
[oracle@neptune ~]$ echo ss 你好,欢迎!
ss 你好,欢迎!

结果截图:

(2)字符串有变量

[oracle@neptune ~]$ name=Zhangsan
[oracle@neptune ~]$ echo name
name
[oracle@neptune ~]$ echo `name`
-bash: name: command not found[oracle@neptune ~]$ echo $name
Zhangsan
[oracle@neptune ~]$ echo "欢迎:"$name
欢迎:Zhangsan
[oracle@neptune ~]$ echo "欢迎:$name"
欢迎:Zhangsan
[oracle@neptune ~]$

 结果截图:

(3)拼接的几个变量

echo 后用 $变量 取,多个变量可以用双引号包起来 。

当变量名与后续字符容易混淆时,可以使用 ${}来明确变量的边界。

[oracle@neptune ~]$ name="Alice"
[oracle@neptune ~]$ greeting="Hello, "
[oracle@neptune ~]$ echo $greeting$name
Hello, Alice
[oracle@neptune ~]$ echo "$greeting$name"
Hello, Alice
[oracle@neptune ~]$ echo "$greeting $name"
Hello,  Alice
[oracle@neptune ~]$ echo "$greeting 欢迎 $name"
Hello,  欢迎 Alice
[oracle@neptune ~]$ echo $greeting 欢迎 $name
Hello, 欢迎 Alice
[oracle@neptune ~]$

结果截图: 

当变量名与后续字符容易混淆时,可以使用${}来明确变量的边界。

[oracle@neptune ~]$ name="Alice"
[oracle@neptune ~]$ echo "The name is ${name}ian"
The name is Aliceian
[oracle@neptune ~]$ echo "The name is $name ian"
The name is Alice ian
[oracle@neptune ~]$ echo "The name is $nameian"
The name is
[oracle@neptune ~]$

 结果截图:

2.4 实验 echo 字符串+时间

使用 echo 字符串  $(date "格式") ,可以用双引号 包起来

[oracle@neptune ~]$ echo "跑批结束!"
跑批结束!
[oracle@neptune ~]$ echo "跑批结束!结束时间为:" `date`
跑批结束!结束时间为: Fri Feb 21 14:58:00 CST 2025
[oracle@neptune ~]$[oracle@neptune ~]$ echo "跑批结束!结束时间为:" $(date "+%F %T %A")
跑批结束!结束时间为: 2025-02-21 15:04:12 Friday[oracle@neptune ~]$ echo "跑批结束!结束时间为: $(date "+%F %T %A")"
跑批结束!结束时间为: 2025-02-21 15:05:08 Friday
[oracle@neptune ~]$

结果截图:

 3. 在脚本中 echo

#!/bin/bash
current_time=$(date +"%Y-%m-%d %H:%M:%S")
echo "当前系统时间是:$current_time"

4.相关知识点

4.1 echo -n   

表示:不换行。默认是换行的

4.2 echo -e

表示:前面有反斜线的字符将作为转义字符,但是需要要有单引号 或者 双引号 包含。

[oracle@neptune ~]$ echo \n\n 1234
nn 1234
[oracle@neptune ~]$ echo -e \n\n 1234
nn 1234
[oracle@neptune ~]$ echo -e '\n\n 1234'1234
[oracle@neptune ~]$ echo -e '\n\n' 12341234
[oracle@neptune ~]$
[oracle@neptune ~]$ echo -e "\\\\" 1234
\ 1234
[oracle@neptune ~]$ echo -e "\\ \\" 1234
\ \ 1234
[oracle@neptune ~]$

结果截图:

4.3设置文本颜色的转义符

\e[<格式代码>    或者    \033[<格式代码>m

说明:基本上是夹在 "\e["(转义开方括号)和 "m" 之间数字值。指定一个以上的格式代码(数字),则用分号将他们分开。

\e[A;B;Cm            或者   \033[A;B;Cm  

说明:A 为格式控制,编号0~9;

          B 为字体颜色,编号30~37;

          C 为背景色,编号40~47。

          可通过 \e[0m  或 \033[0m 关闭颜色输出; \e[A;B;Cm 内容 \e[0m

\e  即 \033,  结尾是 \e[0m 清理格式

1) 格式代码:A  0-9 

2) 字体颜色 B 30-27  | 背景颜色 C  40-47

 echo -e '\e[4;31;43m 我是红色字体 黄色背景 下划线!\e[0m'

[oracle@neptune ~]$ echo -e '\e[4;31;43m 我是红色字体 黄色背景 下划线!\e[0m'我是红色字体 黄色背景 下划线!
[oracle@neptune ~]$ echo 1
1

截图:

 

如果在结尾不关格式,则为以下结果:

本节实验结束:ok  


项目管理--相关知识   

项目管理-项目绩效域1/2-CSDN博客

项目管理-项目绩效域1/2_八大绩效域和十大管理有什么联系-CSDN博客

项目管理-项目绩效域2/2_绩效域 团不策划-CSDN博客

高项-案例分析万能答案(作业分享)-CSDN博客

项目管理-计算题公式【复习】_项目管理进度计算题公式:乐观-CSDN博客

项目管理-配置管理与变更-CSDN博客

项目管理-项目管理科学基础-CSDN博客

项目管理-高级项目管理-CSDN博客

项目管理-相关知识(组织通用治理、组织通用管理、法律法规与标准规范)-CSDN博客


Oracle其他文档,希望互相学习,共同进步

Oracle-找回误删的表数据(LogMiner 挖掘日志)_oracle日志挖掘恢复数据-CSDN博客

oracle 跟踪文件--审计日志_oracle审计日志-CSDN博客

ORA-12899报错,遇到数据表某字段长度奇怪现象:“Oracle字符型,长度50”但length查却没有50_varchar(50) oracle 超出截断-CSDN博客

EXP-00091: Exporting questionable statistics.解决方案-CSDN博客

Oracle 更换监听端口-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/896111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RTSP协议全解析

RTSP&#xff08;Real Time Streaming Protocol&#xff09;协议全解析 一、协议概述 定位&#xff1a;应用层协议&#xff0c;用于控制流媒体服务器&#xff08;播放、暂停、录制&#xff09;&#xff0c;媒体传输由 RTP/RTCP 实现。 特点&#xff1a; 基于文本&#xff08;…

第15届 蓝桥杯 C++编程青少组中/高级选拔赛 202401 真题答案及解析

第 1 题 【 单选题 】 表达式117 % 16 的结果是( )。 A:0 B:5 C:7 D:10 解析: % 是取模运算符,用于计算两个数相除后的余数。 计算 117 / 16,结果是 7,余数是 5。因此,117 % 16 = 5。答案: B 第 2 题 【 单选题 】 下列选项中,字符数组定义正确的是( …

qt5实现表盘的旋转效果,通过提升QLabel类

因为工作需要&#xff0c;需要实现温度的表盘展示效果 实现思路&#xff1a; 通过提示声QLabel控价类&#xff0c;实现报盘的旋转和展示效果 1. 编写一个QLabel的类MyQLabel,实现两个方法 1. void paintEvent(QPaintEvent *event); //重绘函数 2. void valueChanged(int va…

通信系统中物理层与网络层联系与区别

在通信系统中&#xff0c;物理层和网络层是OSI&#xff08;开放系统互连&#xff09;模型中的两个重要层次&#xff0c;分别位于协议栈的最底层和第三层。它们在功能、职责和实现方式上有显著的区别&#xff0c;但同时也在某些方面存在联系。以下是物理层与网络层的联系与区别的…

【深度学习】Pytorch的深入理解和研究

一、Pytorch核心理解 PyTorch 是一个灵活且强大的深度学习框架&#xff0c;广泛应用于研究和工业领域。要深入理解和研究 PyTorch&#xff0c;需要从其核心概念、底层机制以及高级功能入手。以下是对 PyTorch 的深入理解与研究的详细说明。 1. 概念 动态计算图&#xff08;D…

23种设计模式 - 解释器模式

模式定义 解释器模式&#xff08;Interpreter Pattern&#xff09;是一种行为型设计模式&#xff0c;用于为特定语言&#xff08;如数控系统的G代码&#xff09;定义文法规则&#xff0c;并构建解释器来解析和执行该语言的语句。它通过将语法规则分解为多个类&#xff0c;实现…

使用 Openpyxl 操作 Excel 文件详解

文章目录 安装安装Python3安装 openpyxl 基础操作1. 引入2. 创建工作簿和工作表3. 写入数据4. 保存工作簿5. 加载已存在的Excel6. 读取单元格的值7. 选择工作表 样式和格式化1. 引入2. 设置字体3. 设置边框4. 填充5. 设置数字格式6. 数据验证7. 公式操作 性能优化1. read_only/…

nigix面试常见问题(2025)

一、Nginx基础概念 1. 什么是Nginx? Nginx是一款高性能的HTTP/反向代理服务器及IMAP/POP3/SMTP代理服务器,由俄罗斯工程师Igor Sysoev开发。其核心优势在于事件驱动架构与异步非阻塞处理模型,能够高效处理高并发请求(如C10K问题),广泛应用于负载均衡、静态资源服务、AP…

002 SpringCloudAlibaba整合 - Feign远程调用、Loadbalancer负载均衡

前文地址&#xff1a; 001 SpringCloudAlibaba整合 - Nacos注册配置中心、Sentinel流控、Zipkin链路追踪、Admin监控 文章目录 8.Feign远程调用、loadbalancer负载均衡整合1.OpenFeign整合1.引入依赖2.启动类添加EnableFeignClients注解3.yml配置4.日志配置5.远程调用测试6.服务…

代码审计入门学习之sql注入

路由规则 入口文件&#xff1a;index.php <?php // ---------------------------------------------------------------------- // | wuzhicms [ 五指互联网站内容管理系统 ] // | Copyright (c) 2014-2015 http://www.wuzhicms.com All rights reserved. // | Licensed …

React实现自定义图表(线状+柱状)

要使用 React 绘制一个结合线状图和柱状图的图表&#xff0c;你可以使用 react-chartjs-2 库&#xff0c;它是基于 Chart.js 的 React 封装。以下是一个示例代码&#xff0c;展示如何实现这个需求&#xff1a; 1. 安装依赖 首先&#xff0c;你需要安装 react-chartjs-2 和 ch…

线程与进程的深入解析及 Linux 线程编程

在操作系统中&#xff0c;进程和线程是进行并发执行的两种基本单位。理解它们的区别和各自的特点&#xff0c;能够帮助开发者更好地进行多任务编程&#xff0c;提高程序的并发性能。本文将探讨进程和线程的基础概念&#xff0c;及其在 Linux 系统中的实现方式&#xff0c;并介绍…

全面指南:使用JMeter进行性能压测与性能优化(中间件压测、数据库压测、分布式集群压测、调优)

目录 一、性能测试的指标 1、并发量 2、响应时间 3、错误率 4、吞吐量 5、资源使用率 二、压测全流程 三、其他注意点 1、并发和吞吐量的关系 2、并发和线程的关系 四、调优及分布式集群压测&#xff08;待仔细学习&#xff09; 1.线程数量超过单机承载能力时的解决…

springboot整合mybatis-plus【详细版】

目录 一&#xff0c;简介 1. 什么是mybatis-plus2.mybatis-plus特点 二&#xff0c;搭建基本环境 1. 导入基本依赖&#xff1a;2. 编写配置文件3. 创建实体类4. 编写controller层5. 编写service接口6. 编写service层7. 编写mapper层 三&#xff0c;基本知识介绍 1. 基本注解 T…

HTTP 常见状态码技术解析(应用层)

引言 HTTP 状态码是服务器对客户端请求的标准化响应标识&#xff0c;属于应用层协议的核心机制。其采用三位数字编码&#xff0c;首位数字定义状态类别&#xff0c;后两位细化具体场景。 状态码不仅是服务端行为的声明&#xff0c;更是客户端处理响应的关键依据。本文将从协议规…

Unity中的键位KeyCode

目录 主要用途 检测按键事件&#xff1a; 处理键盘输入&#xff1a; 基本键位 常用键&#xff1a; 字母键&#xff1a; 数字键&#xff1a; 功能键&#xff1a; 方向键&#xff1a; 控制键&#xff1a; 鼠标键&#xff1a; 其他特殊键&#xff1a; 代码示例 按下…

高考或者单招考试需要考物理这科目

问题&#xff1a;帮忙搜索一下以上学校哪些高考或者单招考试需要考物理这科目的 回答&#xff1a; 根据目前获取的资料&#xff0c;明确提及高考或单招考试需考物理的学校为湖南工业职业技术学院&#xff0c;在部分专业单招时要求选考物理&#xff1b;其他学校暂未发现明确提…

【设计模式】 代理模式(静态代理、动态代理{JDK动态代理、JDK动态代理与CGLIB动态代理的区别})

代理模式 代理模式是一种结构型设计模式&#xff0c;它提供了一种替代访问的方法&#xff0c;即通过代理对象来间接访问目标对象。代理模式可以在不改变原始类代码的情况下&#xff0c;增加额外的功能&#xff0c;如权限控制、日志记录等。 静态代理 静态代理是指创建的或特…

Redis 限流

Target(ElementType.METHOD) Retention(RetentionPolicy.RUNTIME) public interface AccessLimit {/*** 限制次数*/int count() default 15;/*** 时间窗口&#xff0c;单位为秒*/int seconds() default 60; }Aspect Component public class AccessLimitAspect {private static …

Android Coil3缩略图、默认占位图placeholder、error加载错误显示,Kotlin(1)

Android Coil3缩略图、默认占位图placeholder、error加载错误显示&#xff0c;Kotlin&#xff08;1&#xff09; implementation("io.coil-kt.coil3:coil-core:3.1.0")implementation("io.coil-kt.coil3:coil-network-okhttp:3.1.0") <uses-permission …