zoukankan      html  css  js  c++  java
  • Shell变量内容的删除、替代与替换

    1、 变量内容的删除与替换

     

    #代表由前面开始删除,所以这里便由开始的/删起,*来代替0到无穷多个任意字符

    %由后面向前删除变量内容

    例如:echo ${path%:*bin}删除最有一个目录,即从:到bin为止的字符串并且是最短的

    echo ${path/sbin/SBIN}:两个斜线中间的是旧字符,后面的是新字符

    变量设置方式

    说明

    ${变量#关键字}

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

    ${变量##关键字}

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

    ${变量%关键字}

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

    ${变量%%关键字}

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

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

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

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

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

    2、变量的测试与内容替换

    变量设置方式

    Str没有设置

    Str为空字符串

    Str已设置非为空字符串

    Var=${str-expr}

    Var=expr

    Var=

    Var=$str

    Var=${str:-expr}

    Var=expr

    Var=expr

    Var=$str

    Var=${str+expr}

    Var=

    Var=expr

    Var=expr

    Var=${str:+expr}

    Var=

    Var=

    Var=expr

    Var=${str=expr}

    Str=expr
    var=expr

    str不变
    var=

    str不变
    var=$str

    Var=${str:=expr}

    Str=expr
    var=expr

    Str=expr
    var=expr

    str不变
    var=$str

    Var=${str?expr}

    expr输出至stderr

    Var=

    Var=str

    Var=${str:?expr}

    expr输出至stderr

    expr输出至stderr

    Var=str

  • 相关阅读:
    精妙SQL语句介绍
    ASP判断文件地址是否有效
    将源代码清空,这样别人就看不到源码了
    部署
    sublime
    vscode
    android node
    mac开启热点
    微信
    常见问题
  • 原文地址:https://www.cnblogs.com/zhaosunwei/p/6831529.html
Copyright © 2011-2022 走看看