子串
字串说明
名称
描述
${变量}
返回变量值
${#变量}
返回变量长度,字符串长度
${变量:start}
返回索引start及之后的值
${变量:start:length}
返回索引start及之后长度为length的值
${变量#word}
返回从变量开头删除最短匹配word后的值
${变量##word}
返回从变量开头删除最长匹配word后的值
${变量%word}
返回从变量结尾删除最短匹配word后的值
${变量%%word}
返回从变量结尾删除最长匹配word后的值
${变量/pattern/word}
返回用word替换第一个匹配后的值
${变量//pattern/word}
返回用word替换所有匹配后的值
案例
输出字符串长度
str1="Hello, world"
echo ${#str1}
截取字符串
str1="Hello, world"
echo ${str1:3}
echo ${str1:3:6}
字符串删除
str1="Hello,hello,Hello,hello"
# 从头删最短匹配
echo ${str1#l}
echo ${str1#H}
echo ${str1#h*l}
echo ${str1#H*l}
str1="Hello,hello,Hello,hello"
# 从头删最长匹配
echo ${str1##l}
echo ${str1##H}
echo ${str1##h*l}
echo ${str1##H*l}
str1="Hello,hello,Hello,hello"
# 从尾删最短匹配
echo ${str1%h}
echo ${str1%o}
echo ${str1%h*o}
echo ${str1%H*o}
str1="Hello,hello,Hello,hello"
# 从尾删最长匹配
echo ${str1%%h}
echo ${str1%%o}
echo ${str1%%h*o}
echo ${str1%%H*o}
字符串替换
str2="Hello, world, hello, world"
# 替换第一个匹配到的
echo ${str2/world/friend}
# 替换所有匹配到的
echo ${str2//world/friend}
Last updated