设为首页 收藏本站
查看: 666|回复: 0

[经验分享] linux之bash变量

[复制链接]

尚未签到

发表于 2018-5-22 08:39:19 | 显示全部楼层 |阅读模式
bash变量之高级部分

  1.变量扩展
       ${变量名称}                     变量扩展                          例如:${filename}
       $(命令)                            命令替换                          例如:$(ls /)
       $((算术式))                       算式扩展                          例如:$((9+9))
  变量扩展:一种简易的条件判断,对不同的条件赋予变量不同的替换值,是一种隐含的“if-then-else”的程序语法
  
  判断变量存在与否的基本语法:${待测变量-默认值}
                                    口诀:有就传存在的,没有,就传入默认值
                  存在与否或者为空:${待测变量-:默认值}
                                    口诀:有就传存在的,没有或者空,就传入默认值
                  存在与否或者为空:${待测变量:=默认值}
                                    口诀:给不存在或者为空的变量,设定默认值
  存在与否或者为空,输出提示信息:${待测变量:?提示信息}
                                    目的:在脚本中,为了检测变量为空或者不存在,输出提示信息,以防止脚本出现严重问题
                  测试变量的存在性:${待测变量:+真值}
                                    目的:测试变量存在,存在而且有值,即是真
  
  整理图片请查看附件
  
  变量为字符串时,切片取子串的用法:
  大致有两种:1.${变量:位置起点} 2.${变量:位置起点:长度}
  
  取传入字符串的长度:${#变量名称} 此方法的扩展应用:${#数组[@]}或者${#数组
  • }均为取数组元素的个数
      
      样式对比应用:${变量#样式}  从最左边开始,对比变量值,删除“最短相符合字符串”
                           ${变量##样式} ...                                         “最长相符合字符串”
                           ${变量%样式}  从最右边开始,对比变量值,删除“最短相符合字符串”
                           ${变量%%样式}....                                         “最长相符合字符串”
      
      取代或删除部分字符串
                          ${变量/样式/替换字符串}:只替换第一个对比符合的字符串
                          ${变量//样式/替换字符串}:替换所有符合的字符串
                          ${变量/样式}:删除第一个符合的字符串
                          ${变量//样式}:删除所有符合的字符串
      


    附件:http://down.51cto.com/data/2366098

  • 运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
    2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
    3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
    4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
    5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
    6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
    7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
    8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

    所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-478908-1-1.html 上篇帖子: Linux学习:Linux基础命令集(4) 下篇帖子: linux find使用教程
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    扫码加入运维网微信交流群X

    扫码加入运维网微信交流群

    扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

    扫描微信二维码查看详情

    客服E-mail:kefu@iyunv.com 客服QQ:1061981298


    QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


    提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


    本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



    合作伙伴: 青云cloud

    快速回复 返回顶部 返回列表