一、截取
格式:${变量:起始位置:长度}
字符串
phone=0123456789
从 1 索引位置开始截取,截取到尾部,包含 1 位置
echo ${phone:1}
输出结果
123456789
从 1 索引位置开始截取 6 位,包含 1 位置
echo ${phone:1:6}
输出结果
123456
从 1 索引位置开始截取,截取到倒数第 2 位,不包含倒数第 2 位,这种方式有的解释器不支持,会提示不能小于 0
echo ${phone:1:-2}
输出结果
1234567
二、替换
格式:
替换一个结果:${变量/旧字符串/新字符串}
替换全部结果:${变量//旧字符串/新字符串}
字符串
phone=66668888
```
### 单个替换
```
echo ${phone/6/0}
```
### 输出结果
```
06668888
```
### 全部替换
```
echo ${phone//6/0}
```
#### 输出结果
```
00008888
```
##三、去头
格式:
从左向右,最短匹配删除:${变量#关键词}
从左向右,最长匹配删除:${变量##关键词}
### 字符串
```
phone=1-22-333-4:555-6-777
```
### 最短匹配删除
```
echo ${phone#*-}
```
### 输出结果
```
22-333-4:555-6-777
```
### 最长匹配删除
```
echo ${phone##*-}
```
### 输出结果
```
777
```
### 最短匹配删除
```
echo ${phone#*:}
```
### 输出结果
```
555-6-777
```
##四、去尾
格式:
从右向左,最短匹配删除:${变量%关键词}
从右向左,最长匹配删除:${变量%%关键词}
### 字符串
```
phone=1-22-333-4:555-6-777
```
### 最短匹配删除
```
echo ${phone%-*}
```
### 输出结果
```
1-22-333-4:555-6
```
### 最长匹配删除
```
echo ${phone%%-*}
```
### 输出结果
```
1
```
### 最短匹配删除
```
echo ${phone%:*}
```
### 输出结果
```
1-22-333-4
Comments | NOTHING