Shell变量的删除和替换
Posted shi_zi_183
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell变量的删除和替换相关的知识,希望对你有一定的参考价值。
Shell变量的删除和替换
Linux提供了一些可以直接对变量进行操作的符号。通过这些符号,变量中的部分内容可以被删除、替换和替代。在Shell变量中,变量的删除、替换和替代也是非常重要的。通过简单的操作修改变量,可以减少代码的行数并提高可读性。
Shell变量的删除
操作方式 | 说明 |
---|---|
${变量名#关键字符} | 如果变量内容从头开始的数据符合"关键字符",则将符合的最短数据删除 |
${变量名##关键字符} | 如果变量内容从头开始的数据符合"关键字符",则将符合的最长数据删除 |
${变量名%关键字符} | 如果变量内容从尾开始的数据符合"关键字符",则将符合的最短数据删除 |
${变量名%%关键字符} | 如果变量内容从尾开始的数据符合"关键字符",则将符合的最长数据删除 |
索引和切片
${变量名:开始位置:切片长度}
Shell变量的替换
操作 | 说明 |
---|---|
${变量名/旧字符串/新字符串} | 表示若变量内容符有旧字符串则第一个旧字符串会被新字符串替换 |
${变量名//旧字符串/新字符串} | 表示若变量内容有旧字符串则全部旧字符串会被新字符串替换 |
Shell变量的替代
给Shell变量设置默认值的格式为${变量名-新的变量名}
,如果变量名没有被赋值,会使用新的变量值替代,如果已被赋值(包括空值),则该值不会被替代。
变量替代常用于设置缺省值。例如,在连接数据库时,需要使用端口,这个端口可以是预先设置的具体端口,也可以是用户输入的端口。假如用户没有输入具体的端口号,脚本中就使用预先设置的端口。
${变量名:-新的变量名}
这样如果变量为空值也会被替代
以上是关于Shell变量的删除和替换的主要内容,如果未能解决你的问题,请参考以下文章