内容目录:
案例一:当要替换的变量未定义或为空时则给予其一个默认值
案例二:当要替换的变量已定义且不为空时则给予其一个默认值
案例三:当要替换的变量已定义且不为空时则替换此变量的前一部分
3.1 当要替换的变量已定义且不为空时则替换此变量的前一部分
3.2 当要替换的变量已定义且不为空时则替换此变量的某一部分
案例四:当要替换的变量已定义且不为空时则替换此变量去除前一部分的值
4.1 去除变量左数第一个某一个符号前面的所有值
4.2 去除变量左数最后某一个符号前面的所有值
4.3 去除前面一部分值
案例五:当要替换的变量已定义且不为空时则替换此变量去除后一部分的值
5.1 去除变量右数第一个某一个符号前面的所有值
5.2 去除变量右数最后某一个符号前面的所有值
5.3 去除后面一部分值
案例六:当要替换的变量已定义且不为空时则替换此变量替换一部分后的值
具体的内容:
案例一:当要替换的变量未定义或为空时则给予其一个默认值
# value=
# newvalue=${value:-eternalcenter}
# echo $newvalue
eternalcenter
# value=mingyuzhu
# newvalue=${value:-eternalcenter}
# echo $newvalue
mingyuzhu
或者:
# value=
# newvalue=${value:=eternalcenter}
# echo $newvalue
eternalcenter
# value=mingyuzhu
# newvalue=${value:=eternalcenter}
# echo $newvalue
mingyuzhu
(补充:这里以当变量 value 存在且为空时则变量 newvalue 的值为 eternalcenter 为例)
案例二:当要替换的变量已定义且不为空时则给予其一个默认值
# value=
# newvalue=${value:+eternalcenter}
# echo $newvalue
# value=mingyuzhu
# newvalue=${value:+eternalcenter}
# echo $newvalue
eternalcenter
(补充:这里以当变量 value 存在且不为空时则变量 newvalue 的值为 eternalcenter 为例)
案例三:当要替换的变量已定义且不为空时则替换此变量的前一部分
3.1 当要替换的变量已定义且不为空时则替换此变量的前一部分
# value=mingyuzhu
# newvalue=${value:offset:4}
# echo $newvalue
ming
或者:
# value=mingyuzhu
# newvalue=${value:0:4}
# echo $newvalue
ming
(补充:这里以当变量 value 存在且不为空时则变量 newvalue 的值为变量 value 前 4 个字符为例)
3.2 当要替换的变量已定义且不为空时则替换此变量的某一部分
# value=mingyuzhu
# newvalue=${value:4:2}
# echo $newvalue
yu
(补充:这里以当变量 value 存在且不为空时则变量 newvalue 的值为变量 value 从第 4 个字符开始的 2 个字符为例)
案例四:当要替换的变量已定义且不为空时则替换此变量去除前一部分的值
4.1 去除变量左数第一个某一个符号前面的所有值
# value=ming:yu:zhu
# newvalue=${value#*:}
# echo $newvalue
yu:zhu
(补充:这里以去除变量 value 左数第一个冒号 “:” 前面的所有值并赋予给变量 newvalue 为例)
4.2 去除变量左数最后某一个符号前面的所有值
# value=ming:yu:zhu
# newvalue=${value##*:}
# echo $newvalue
zhu
(补充:这里以去除变量 value 左数最后一个冒号 “:” 前面的所有值并赋予给变量 newvalue 为例)
4.3 去除前面一部分值
# value=mingyuzhu
# novalue=ming
# newvalue=${value##$novalue}
# echo $newvalue
yuzhu
(补充:这里以去除变量 value 前面的 ming 值并赋予给变量 newvalue 为例)
案例五:当要替换的变量已定义且不为空时则替换此变量去除后一部分的值
5.1 去除变量右数第一个某一个符号前面的所有值
# value=ming:yu:zhu
# newvalue=${value%:*}
# echo $newvalue
ming:yu
(补充:这里以去除变量 value 右数第一个冒号 “:” 前面的所有值并赋予给变量 newvalue 为例)
5.2 去除变量右数最后某一个符号前面的所有值
# value=ming:yu:zhu
# newvalue=${value%%:*}
# echo $newvalue
ming
(补充:这里以去除变量 value 右数最后一个冒号 “:” 前面的所有并赋予给变量 newvalue 值为例)
5.3 去除后面一部分值
# value=mingyuzhu
# novalue=ming
# newvalue=${value%%$novalue}
# echo $newvalue
mingyu
(补充:这里以去除变量 value 后面的 zhu 值并赋予给变量 newvalue 为例)
案例六:当要替换的变量已定义且不为空时则替换此变量替换一部分后的值
# value=mingyuzhu
# noneedvalue=yu
# needvalue=zhu
# newvalue=${value/$noneedvalue/$needvalue}
# echo $newvalue
mingzhuzhu
(补充:这里以将变量 value 中的 yu 替换成 zhu 并赋予给变量 newvalue 为例)