linux提供了一些可以直接对变量进行操作的符号。通过这些符号,变量中的部分内容可以被删除、替换和替代。在shell中,变量的删除、替换和替代是非常重要的。通过简单的操作修改变量,可以减少怠代码的行数并提高可读性。
1.shell变量的删除
变量删除的方式:
${变量名#关键字符}
如果变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除。
最短匹配,删除.和.左边的字符串。
${变量名##关键字符}
如果变量内容从头开始的数据符合“关键字”,则将符合的最长数据删除。
最长匹配,删除.和.左边的字符串。
${变量名%关键字符}
如果变量内容从尾开始的数据符合“关键字”,则将符合的最短数据删除。
最短匹配,删除.和.右边的字符串
${变量名%%关键字符}
如果变量内容从尾开始的数据符合“关键字”,则将符合的最长数据删除。
最长匹配,删除.和.右边的字符串
2.shell变量的删除
在工作中,常常要判断某个变量是否存在。若变量存在则使用既有变量,若变量不存在,则给予一个常用的配置。
变量替换的操作方式:
${变量名/旧字符串/新字符串}
若变量内容符合[旧字段],则第一个[旧字段]会被[新字段]替换
${变量名//旧字符串/新字符串}
若变量内容符合[旧字段],则全部[旧字段]会被[新字段]替换
3.shell变量的替代
给shell变量设置默认值的格式为“${变量名-新的变量值}”,如果变量名没有被赋值,则会使用“新的变量值”,如果变量已经被赋值(包括空值),则该值不会被替代。