Linux环境变量高级用法

  • 变量删除

    设置方式功能
    ${var#key} 从左往右查找key,删除最短匹配内容
    ${var##key} 从左往右查找key,删除最长匹配内容
    ${var%key} 从右往左查找key,删除最短匹配内容
    ${var%%key} 从右往左查找key,删除最长匹配内容
  • 变量替换
    设置方式功能
    ${var/key/newkey} 从左往右查找第一个key,替换为newkey
    ${var//key/newkey} 从左往右查找所有key,替换为newkey
  • 变量赋值  :+
    设置方式若test为空若test=“”若test为非空字符串总结
    var=${test+str} var为空 (不变) var=str var=str + 可覆盖非空
    var=${test:+str} var为空 var=“” var=str :+ 可覆盖非空但不包括""
  • 变量赋值 :-
    设置方式若test为空若test=“”若test为非空字符串总结
    var=${test-str} var=str var=“” (不变) var=$test - 可覆盖空
    var=${test:-str} var=str var=str var=$test :- 可覆盖空及""

      
  • 变量赋值 :=
    设置方式 若test为空 若test=“” 若test为非空字符串 总结
    var=${test=str} var=test=str test=“”(不变)
    var为空
    var=$test = 覆盖空并改变判断值
    var=${test:=str} var=test=str var=test=str var=$test := 覆盖空及""并改变判断值
      
  • 变量赋值 :?
    设置方式 若test为空 若test=“” 若test为非空字符串 总结
    var=${test?str} str输出stderr var=“”(不变) var=$test ? 为空输出错误信息
    var=${test:?str} str输出stderr str输出stderr var=$test :? 为空及""输出错误信息
     
posted @ 2023-01-13 11:55  MacoPlus  阅读(14)  评论(0编辑  收藏  举报