-
变量删除
设置方式 功能 ${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 :? 为空及""输出错误信息