shell脚本语言学习--字符串与数组

一 字符串:
字符串可以单引号或者双引号,如:
name='name'
name="name"

1.字符串拼接
方式一:
age=100
sex="男"
info="${name} ${age} ${sex}"

方式二:
info1="姓名:"${name}" 年龄:"${age}" 性别:"${sex}""

2.获取字符串长度
语法结构 ${#变量名}

3.字符串截取
语法结构 ${变量名:开始位置:截取长度}
例如:
从第一个截取4个字符
subString=${string:1:4}
subString=${string::4}
从某一个截取到最后一个
subString2=${string:2}

4.字符串删除
语法一: ${变量名#要删除的字符串}
--从字符串的左边(开头),开始匹配要删除的字符串
--ps:直接写字符串的话,需要第一个字符和字符串的第一个字母开始匹配

查找指定字符中的第一个,并且删除前面所有字符,包括自己
delete=${string#*z}

指定范围删除,从第一个开始删到哪个字符出现
delete=${string#第一个字符*设定出现的字符}

语法二: ${变量名##要删除的字符串}
--从字符串的右边(结尾),开始匹配要删除的字符串
与语法一对应,都是从左边查询,从左边开始删除

语法三: ${变量名%要删除的字符串}
--从字符串的结尾开始匹配,删除匹配的字符串

查找指定字符中的第一个,并且删除前面所有字符,包括自己
delete=${string%z}
指定范围删除
delete5=${string%设定出现的字符
右边第一个字符}

语法四:${变量名%%要删除的字符串}
-- 从字符串的右边(结尾),开始匹配要删除的字符串

字符串删除总结:
---从左边删除到右边
# 表示查询方向从左到右
## 表示查询方向从右到左
---从右边删除到左边
% 表示查询方向从右到左
%% 表示查询方向从左到右

二 数组:
数组的声明
语法:
数组名=(值1 值2 值3 ...)
举个栗子:
body=("value1" "value2" "value3" "value4")

也可以这样
body=()
body[1]="value1"
body[2]="value2"
body[3]="value3"
body[4]="value4"

数组的读取
语法: ${数组名[下标]}
输出所有的数据 使用 "@" 或 "*"
${body[@]}

数组的长度
语法: ${#数组名[@]} 或 ${#数组名[*]}

获取单个元素字符串长度${#数组名[下标]} 就是获取字符串长度 ${#变量名}
语法: ${#数组名[下标]}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,844评论 19 139
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 4,760评论 0 5
  • 这是16年5月份编辑的一份比较杂乱适合自己观看的学习记录文档,今天18年5月份再次想写文章,发现简书还为我保存起的...
    Jenaral阅读 3,218评论 2 9
  • 我们不是讨厌别人优秀,而是讨厌优秀的人不是自己罢了
    BWYDA阅读 97评论 0 1
  • 人的精力有限,世界是纷繁复杂,动态发展的。人必须把有限的精力投入到最核心的问题上,不会为边角料而纠结。我最尊敬的偶...
    带BGM的萧峰阅读 216评论 0 0

友情链接更多精彩内容