当前位置: 首页 > news >正文

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

http://www.lryc.cn/news/367277.html

相关文章:

  • spring-kafka-生产者服务搭建测试(SpringBoot整合Kafka)
  • JVM学习-内存泄漏
  • Go微服务: 分布式之通过本地消息实现最终一致性和最大努力通知方案
  • BC C language
  • 算法训练营第四十九天 | LeetCode 139单词拆分
  • 阿里云一键登录号码认证服务
  • 【UML用户指南】-05-对基本结构建模-类
  • 【C++ 初阶】引用 () 实际的一些用法、常引用问题 详解!
  • adb dump当前可见的窗口
  • Java Web学习笔记27——对话框、表单组件
  • 使用vue3+ts封装一个Slider滑块组件
  • 关于科技的总结与思考
  • 2024年几款优秀的SQL IDE优缺点分析
  • vue前端实现页面禁止缩放 前端适配问题处理 前端项目多端适配解决方案
  • 反射型xss靶场练习
  • vue3 【实战】封装 “心跳“ 组件
  • k8s网络问题以及容器跨宿主机通信原理
  • BM25算法以及变种算法简介
  • D455相机RGB与深度图像对齐,缓解相机无效区域的问题
  • 2024 cicsn ezbuf
  • 地面站Mission planner
  • 常见的api: BigInteger
  • Overall timing accuracy 和Edge placement accuracy 理解
  • 2024 vite 静态 scp2 自动化部署
  • 【数据结构】AVLTree实现详解
  • 深度学习——TensorBoard的使用
  • 【设计模式】观察者模式(行为型)⭐⭐⭐
  • 轻松搞定阿里云域名DNS解析
  • GAT1399协议分析(10)--单图像删除
  • Hudi CLI 安装配置总结