ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

shell中字符变量的删除, 替换, 截取, 索引与切片

2019-12-26 21:00:08  阅读:234  来源: 互联网

标签:shell 变量 截取 888 echo 索引 贪婪 替换 定义


1. 定义变量时, 注意=号两边不要有空格; 如: a=www.xxxxx.oooo


2. 变量引用的两种方法: echo $a 或者 echo ${a}


3. 获取变量的长度: echo ${#a}


4. 变量的删除: echo ${a#ww} # 从变量值开头删除两个w, 此操作不影响原变量的值


5. echo ${a#.} 和 echo ${a##.}的区别; 一个#表时从前往后, 非贪婪, 到第一个点停住;
  ##也是从前往后, 贪婪, 到最后一个点处停止;
6. echo ${a%.} 和 echo ${a%%.}的区别; 同上, 从后往前删, 非贪婪和贪婪


7. 索引和切片: echo ${a:5:5} # 注意切片时第一个5表示从第几个索引开始, 后面的5表示切出来几个


8. 替换操作: echo ${a/xxxxx/yy/} # 将a值中的xxxxx替换为yy, 风格有些类似sed的用法


9. 替换的贪婪模式: echo ${a//x/X/} # //表示贪婪, 替换所有的小写x为大写, 使用/时只替换一个


10.使用unset命令来取消设定的变量: unset a # 即取消掉a变量


11.变量定义的另一种方法: echo ${b-888} # 如果b被定义过, 哪怕是空值也不会被888替代; 如果没有定义变量b, 则定义,并赋值为-后的内容


12.echo ${b:-888} # 只要b不是空值, 就不会被888替代, 否则被888替代;


13.echo ${b:=888} echo ${b:+888} echo ${b:?888} 还有这些特殊用法, 及去掉:号的用法

标签:shell,变量,截取,888,echo,索引,贪婪,替换,定义
来源: https://www.cnblogs.com/quzq/p/12104360.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有