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

  • 相关阅读:
    数据结构-连续子数组的最大和
    数据结构-并查集
    nginx开启代理后,出现net::ERR_CONTENT_LENGTH_MISMATCH 200 (OK)错误
    计算出n阶乘中尾部零的个数
    常见的加密方式总结
    idea中lombok不生效
    纯真ip地址数据库使用
    go mod使用
    exec: "gcc": executable file not found in %PATH%解决办法
    java多线程系列1-初识多线程多线程4种实现方式
  • 原文地址:https://www.cnblogs.com/zhaosunwei/p/6831529.html
Copyright © 2011-2022 走看看