linux提供了一些可以直接对变量进行操作的符号。通过这些符号,变量中的部分内容可以被删除、替换和替代。在shell中,变量的删除、替换和替代是非常重要的。通过简单的操作修改变量,可以减少怠代码的行数并提高可读性。
1.shell变量的删除
变量删除的方式:
${变量名#关键字符}
如果变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除。
最短匹配,删除.和.左边的字符串。
${变量名##关键字符}
如果变量内容从头开始的数据符合“关键字”,则将符合的最长数据删除。
最长匹配,删除.和.左边的字符串。
${变量名%关键字符}
如果变量内容从尾开始的数据符合“关键字”,则将符合的最短数据删除。
最短匹配,删除.和.右边的字符串
${变量名%%关键字符}
如果变量内容从尾开始的数据符合“关键字”,则将符合的最长数据删除。
最长匹配,删除.和.右边的字符串
2.shell变量的删除
在工作中,常常要判断某个变量是否存在。若变量存在则使用既有变量,若变量不存在,则给予一个常用的配置。
变量替换的操作方式:
${变量名/旧字符串/新字符串}
若变量内容符合[旧字段],则第一个[旧字段]会被[新字段]替换
${变量名//旧字符串/新字符串}
若变量内容符合[旧字段],则全部[旧字段]会被[新字段]替换
3.shell变量的替代
给shell变量设置默认值的格式为“${变量名-新的变量值}”,如果变量名没有被赋值,则会使用“新的变量值”,如果变量已经被赋值(包括空值),则该值不会被替代。
标签:shell,变量,删除,符合,字符串,变量名,替换 来源: https://blog.51cto.com/14881361/2673387
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。