Shell变量的删除和替换

Posted shi_zi_183

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell变量的删除和替换相关的知识,希望对你有一定的参考价值。

Shell变量的删除和替换

Linux提供了一些可以直接对变量进行操作的符号。通过这些符号,变量中的部分内容可以被删除、替换和替代。在Shell变量中,变量的删除、替换和替代也是非常重要的。通过简单的操作修改变量,可以减少代码的行数并提高可读性。

Shell变量的删除

操作方式说明
${变量名#关键字符}如果变量内容从头开始的数据符合"关键字符",则将符合的最短数据删除
${变量名##关键字符}如果变量内容从头开始的数据符合"关键字符",则将符合的最长数据删除
${变量名%关键字符}如果变量内容从尾开始的数据符合"关键字符",则将符合的最短数据删除
${变量名%%关键字符}如果变量内容从尾开始的数据符合"关键字符",则将符合的最长数据删除


索引和切片

${变量名:开始位置:切片长度}

Shell变量的替换

操作说明
${变量名/旧字符串/新字符串}表示若变量内容符有旧字符串则第一个旧字符串会被新字符串替换
${变量名//旧字符串/新字符串}表示若变量内容有旧字符串则全部旧字符串会被新字符串替换

Shell变量的替代

给Shell变量设置默认值的格式为${变量名-新的变量名},如果变量名没有被赋值,会使用新的变量值替代,如果已被赋值(包括空值),则该值不会被替代。
变量替代常用于设置缺省值。例如,在连接数据库时,需要使用端口,这个端口可以是预先设置的具体端口,也可以是用户输入的端口。假如用户没有输入具体的端口号,脚本中就使用预先设置的端口。

${变量名:-新的变量名}
这样如果变量为空值也会被替代

以上是关于Shell变量的删除和替换的主要内容,如果未能解决你的问题,请参考以下文章

shell脚本里,如何删除变量的最后一个字符?

shell变量替换

shell脚本里,如何删除变量的最后一个字符?

Sed 删除匹配行,匹配的字符用Shell变量替换,且变量里含有斜杠“/”时,无法删除

shell 变量删除与替换

Shell变量的取用删除取代与替换