Shell脚本学习_字符串变量

目录

1.Shell字符串变量:格式介绍

2.Shell字符串变量:拼接

3.Shell字符串变量:字符串截取

4.Shell索引数组变量:定义-获取-拼接-删除


1.Shell字符串变量:格式介绍

1、目标:

能够使用字符串的三种方式

掌握三种方式的区别

能够获取字符串的长度

2、字符串的三种格式:

1.单引号格式

注意:任何字符都会原样输出,在拼接字符串中使用变量是无效的。

2.双引号格式,推荐使用

注意:其中包含了变量,那么该变量就会被解析得到的值,而不是原样输出。

字符串中还可以出现双引号的子字符串,但是需要转义。

3.不用引号方式

注意:字符串内不能出现空格

3、获取字符串的长度

语法:

echo ${#字符串变量名}

4、小结

1.能够使用字符串的3种方式:

单引号方式
双引号方式[推荐]
不使用引号方式

2.掌握3种方式的区别

单引号,原样输出,不会解析里面的变量

双引号,会解析里面的变量,并且可以使用子双引号,需要转义

不使用引号,也会解析里面的变量,但是不能含有空格,空格后面的字符串会作为命令去执行

3.能够获取字符串的长度

${#var name} 


2.Shell字符串变量:拼接

1、目标:

掌握字符串变量的拼接

2、字符串拼接方式:

1.无符号拼接

2.双引号拼接

3.混合拼接 


3.Shell字符串变量:字符串截取

1、语法:

2、示例要求

左侧从0开始,右侧从1开始

第一个: 

第二个:

第三个:

 第四个:

 第五个:

第六个:

 第七个:

4.Shell索引数组变量:定义-获取-拼接-删除

 1、目标

1.能够定义Shell数组
2.能够获取Shell数组数据
3.能够进行shell数组的拼接,删除

2、介绍

Shell 支持数组,数组是若干数据的集合,其中的每一份数据都称为数组的元素。
注意Bash shel 只支持一维数组,不支持多维数组。 

3、数组的定义

语法:

在Shell中,用括号()来表示数组,数组元素之间用空格来分割,语法为:

array_name=(item1 item2 .....)

array_name=([索引下标1]=item1  [索引下标2]=item2 ....)

4、数组的获取

语法:

1、 通过下标获取元素值,index从0开始

${arr[index]}
#注意:使用{}

2、获取值的同时赋值给其他变量

item=${arr[index]}

3、使用@或*可以获取数组中的所有元素

${arr[@]}
${arr[*]}

4、获取数组长度或个数

${#arr[@]}
${#arr[*]}

5、获取数组指定元素的字符程度

${#arr[索引]}

如图: 

5、数组的拼接

 语法:

使用@和*获取所有的数组元素后进行拼接

array_name=(${array1[@]}  ${array2[*]}  ....)

6、数组的删除 

语法:

#删除指定数组的元素

unset array_name[index]

#删除整个数组

unset array_name

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【NI国产替代】500 MSPS 采样率,14 bit 分辨率数据采集盒子

• 双高速高精度数据采集通道 • 支持内外精准触发采样模式 • 丰富的总线控制接口 • 抗干扰能力强 高速采集盒子是一款双通道,具有 500 MSPS 采样率,14 bit 分辨率的高速高精度数据采集设备,其模拟输入带宽为 200 MHz,…

深入了解反射

newInstance 可访问性限制: newInstance()方法只能调用无参的公共构造函数。如果类没有无参公共构造函数,那么newInstance()方法将无法使用。 异常处理: newInstance()方法在创建对象时会抛出受检异常InstantiationException和IllegalAcces…

各品牌电视安装第三方软件失败的解决方法

在安装电视第三方软件时,您可能会遇到安装失败、解析错误或无法识别文件类型等问题。以下是一些常见问题的解决方案,小武给您整理了详细的步骤来帮助解决这些问题。 手机投屏或安装方法参考如下文章: 移动端投屏到大屏幕的操作详解 通过U盘…

SpringBoot图书管理系统【附:资料➕文档】

前言:我是源码分享交流Coding,专注JavaVue领域,专业提供程序设计开发、源码分享、 技术指导讲解、各类项目免费分享,定制和毕业设计服务! 免费获取方式--->>文章末尾处! 项目介绍048: 图…

2024年6月8日 每周新增游戏

中医百科中药: 中医百科中药是一款非常强大的中药知识科普软件,该应用提供500多味中草药的文献资料,强大的搜索功能可根据功效、特点和关键词来快速查找中药,而且每味中药的图片、功效、主治、炮制方法等百科知识,可以很好的帮助你…

计算机专业本科论文起稿咋写

举例基于SpringBoot的Java基础的旅游管理系统 摘要 随着旅游业的快速发展,传统的旅游管理方式已经难以满足现代企业的需求。为了提高旅游企业的管理水平和服务质量,本文设计并实现了一个基于SpringBoot框架的旅游管理系统。本文首先介绍了旅游管理系统的…

E: 仓库 “http://download...graphics:/darktable/xUbuntu_22.04 InRelease” 没有数字签名

问题 Ubuntu22.04装了darktable软件没装好,已经卸载了但是没卸载干净,终端使用 sudo apt update 出现的问题: 解决: sudo nano /etc/apt/sources.list.d/*darktable*.list找到了该软件的相关仓库条目:直接给他注释掉就行了。

springcloud第4季 springcloud-gateway网关filter案例场景

一 filter作用 1.1 filter搭建流程 1.1.1 网关配置 1.1.2 服务提供者 1.1.3 测试验证 1.启动consul 2.启动zipkin 3.启动应用微服务 4.进行访问: http://localhost:6666/pay/wg/filter 1.2 其他常见API RemoveRequestHeadersec-fetch-site # 删除请求…

重构大学数学基础_week04_从点积理解傅里叶变换

这周我们来看一下傅里叶变换。傅里叶变换是一种在数学和许多科学领域中广泛应用的分析方法,它允许我们将信号或函数从其原始域(通常是时间域或空间域)转换到频域表示。在频域中,信号被表示为其组成频率的幅度和相位,这…

电脑下载速度很慢怎么解决 电脑下载加速工具测评推荐

电脑下载速度慢,不仅耗时冗长,还会影响工作和学习效率。漫长的等待让人心情焦虑,每一秒都是对耐心的极大考验。有关电脑下载速度很慢怎么解决,电脑下载加速工具评测推荐的问题,本文将进行详细介绍。 一、电脑下载速度…

一个简单的消息队列

目录 原理 实现代码 示例 原理 消息队列是一个先进先出栈,每次都处理第一项,处理完了过后会删除这个消息,这是一个简单的消息队列图: 实现代码 首先消息队列需要一个队列,我们用Python里的列表: self.…

信息学奥赛初赛天天练-23-CSP-J2023基础题-指针、链表、哈夫曼树与哈夫曼编码的实战应用与技巧大揭秘

PDF文档公众号回复关键字:20240608 单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项) 4 假设有一个链表的节点定义如下: struct Node {int data; Node* next; };现在有一个指向链表头部…

今年618,京东和爱奇艺为大屏品质“把关”

今年618电视大战,还是打响了。 根据京东618数据显示,618开门红阶段热卖TOP10电视均为75英寸以上的大屏,拥有超高画质的MiniLED电视成交量同比增长5倍。可以看到,大屏电视逐步成为消费主流,尤其是拥有出色视听体验的高…

【MYSQL系列】mysql中text,longtext,mediumtext区别

【MYSQL系列】mysql中text,longtext,mediumtext区别 在MySQL数据库中,TEXT、LONGTEXT和MEDIUMTEXT都是用于存储大量文本数据的字段类型。它们之间的主要区别在于可存储的数据大小和性能方面的差异。本文将探讨这些字段类型的特点、使用场景和一些最佳实践。 TEXT类…

How To: Localize Bar and Ribbon Skin Items

您可以使用Localizer对象自定义皮肤菜单,而不是迭代每个条形皮肤子菜单项和功能区皮肤库项容器来手动修改这些项。此方法允许您同时自定义所有现有栏子菜单和功能区库中的外观项目。 创建BarLocalizer类的派生类并重写XtraLocalizer.GetLocalizedString方法。 pub…

《python程序语言设计》2018版第5章第46题均值和标准方差-上部(我又一次被作者的出题击倒)

第N次被作者打倒了&#xff0c;第5章46题解题上集的记录 计算均值的代码段 step_num 0num_c 0 pow_c 0 while step_num < 10:a eval(input("Enter number is: "))num_c apow_c pow(a, 2)step_num 1 t2 num_c / 10这个结果和书里的答案差一点。书里写的是…

易飞销货单出货时审核库存检查

公司接到一客户因品种多而数量少&#xff0c;单一出货计划行比较多&#xff0c;而只上了生产ERP易飞&#xff0c;审核时经常会出现倒催货&#xff0c;提前做销售单&#xff0c;行数有时超30行以上&#xff0c;审核跳窗报错时也不方便查找&#xff0c;特写一外挂程序&#xff0c…

植物大战僵尸杂交版最新2.0.88手机+电脑+苹果+修改器

在这个充满奇妙的平行宇宙中&#xff0c;植物和僵尸竟然能够和谐共存&#xff01;是的&#xff0c;你没听错&#xff01;一次意外的实验&#xff0c;让这两个看似对立的生物种类发生了基因杂交&#xff0c;创造出了全新的生物种类——它们既能够进行光合作用&#xff0c;也具备…

【NI国产替代】PCIe 高速采集卡, 8 位双通道数字化仪器,采集卡最高采样率高达 5 GS/s 模拟带宽高达 500 MHz

• 8 位双通道数字化仪器 • 最高采样率高达 5 GS/s • 模拟带宽高达 500 MHz • 采用 PCIe 3.0 x 8 接口 • 基于 Xilinx Kintex UltraScale, XCKU040 • 提供硬件、FPGA、软件定制服务 高速采集卡是一款 8 位双通道数字化仪器&#xff0c;采集卡最高采样率高达 5 GS/s 模…

数据结构及研究

**数据结构是计算机存储、组织数据的方式&#xff0c;它是相互之间存在一种或多种特定关系的数据元素的集合**Θic-1ΘΘic-2ΘΘic-3ΘΘic-4ΘΘic-5Θ。 数据结构这一概念在计算机科学领域扮演着至关重要的角色&#xff0c;它不仅决定了数据在计算机内部的存储方式&#xf…