-
变量删除
设置方式 | 功能 |
${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)
评论()
编辑
收藏
举报