变量内容的删除
变量设置方式 | 说明 |
---|---|
${变量#关键字} | 若变量内容从头开始的数据符合“关键字”,则将符合的最短数据删除 |
${变量##关键字} | 若变量内容从头开始的数据符合“关键字”,则将符合的最长数据删除 |
${变量%关键字} | 若变量内容从尾向前的数据符合“关键字”,则奖符合的最短数据删除 |
${变量%%关键字} | 若变量内容从尾向前的数据符合“关键字”,则将符合的最长数据删除 |
变量内容的替换
变量设置方式 | 说明 |
---|---|
${变量/旧字符串/新字符串} | 若变量内容符合“旧字符串”,则第一个旧字符串会被新字符串替换 |
${变量//旧字符串/新字符串} | 若变量内容符合“旧字符串”,则全部的旧字符串会被 新字符串替换 |
变量的测试
变量设置方式 | 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=expr | 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 |