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[@]}

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

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

你可能感兴趣的:(shell脚本语言学习--字符串与数组)