• 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

  • 相关阅读:
    python函数练习题2
    python函数练习题1
    数字是否是10的整数倍
    关于循环的作业:登陆程序
    用for循环写这段代码
    while循环语句
    在CentOS8 上安装Python3
    时隔半年再写购物车程序并改进
    vue上传
    根据生日计算年龄
  • 原文地址:https://www.cnblogs.com/zhaosunwei/p/6831529.html
Copyright © 2020-2023  润新知