zoukankan      html  css  js  c++  java
  • shell_变量内容删除、替换

    鸟哥实例练习

    变量设置方式

    说明

    ${变量#关键字}

    若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除

    ${变量##关键字}

    若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除

    ${变量%关键字}

    若变量内容从尾向前的数据符合“关键字”,则将符合的最短数据删除

    ${变量%%关键字}

    若变量内容从尾向前的数据符合“关键字”,则将符合的最长数据删除

    ${变量/旧字符串/新字符串}

    若变量内容符合“旧字符串”,则第一个旧字符串会被新字符串替换

    ${变量//旧字符串/新字符串}

    若变量内容符合“旧字符串”,则全部的旧字符串会被新字符串替换

    删除:  #  ,##,%,%%,*     等配合echo  ${variable}

    # echo $path
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    # echo ${path#/*sbin:}
    /usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    #代表内容变量的最前开始向右删除,由/开始,*表示通配符0到无穷个字符

    # echo ${path#/*:}
    /usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    #最短匹配

    # echo ${path##/*:}
    /root/bin

    ##最长匹配

    # echo $path
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    # echo ${path%/root/*}
    /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:

    %从右往左匹配

    echo ${path%/*/sbin*}
    /usr/local/sbin:/usr/local/bin:

    echo ${path%%/*/sbin*}


    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo $MAIL
    /var/spool/mail/root
    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo ${MAIL#/*/}
    spool/mail/root
    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo ${MAIL%/*}
    /var/spool/mail

    替换:

    # echo ${path/sbin/SBIN}
    /usr/local/SBIN:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

    # echo ${path//sbin/SBIN}
    /usr/local/SBIN:/usr/local/bin:/usr/SBIN:/usr/bin:/root/bin

    关于-

    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# unset str;var=${str-newvar}
    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}
    var=newvar str=


    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# str="oldvar";var=${str-newvar}
    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}
    var=oldvar str=oldvar

    var的值取决于str是否存在,-并不影响旧变量的内容

    关于+

    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# unset str;var=${str+mewvar}
    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}
    var= str=

    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# str=oldvar;var=${str+newvar}
    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}
    var=newvar str=oldvar

    关于=

    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# unset str;var=${str=newvar}
    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}
    var=newvar str=newvar

    会替换旧变量的值

    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# str=oldvar;var=${str=newvar}
    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}
    var=oldvar str=oldvar

    变量测试

    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# str="oldvar";var=${str?test}
    [root@iZwz96z5n0mtqtsen3cfs9Z mj]# echo var=${var} str=${str}
    var=oldvar str=oldvar

  • 相关阅读:
    Centos7 关闭防火墙
    Linux下磁盘挂载
    Sqlserver游标复习
    Redis-benchmark测试Redis性能
    将treeview控件内容导出图片
    使用redis进行消息推送
    web性能优化系列之网站瓶颈识别
    SqlServer时间格式化
    PHP二位数组/多维数组 根据某个键值排序
    VIM Taglist + ctags
  • 原文地址:https://www.cnblogs.com/piero-mao/p/13259373.html
Copyright © 2011-2022 走看看