删除
${varname#strMatch} // 在varname中从头匹配strMatch,然后删除从头到第一次匹配到的位置
${varname##strMatch} // 在varname中从头匹配strMatch,然后删除从头到最后一次匹配到的位置
${varname%strMatch} // 在varname中尾头匹配strMatch,然后删除从尾到第一次匹配到的地方
${varname%%strMatch} // 在varname中尾头匹配strMatch,然后删除从尾到最后次匹配到的地方
${varname/oldStr/newStr} // 第一个匹配到旧串的,将会被新串取代
${varname//oldStr/newstr} // 所有匹配到旧串的,将都会被新串取代
替代
var=${str-content} // 如果str没有设置值,var=content,否则var=str
var=${str:-content} // 如果str没有设置值或者str为空,var=content,否则var=str
var=${str+content} // 如果str没有设置值,var= ,否则var=content
var=${str:+content} // 如果str没有设置值或者str为空,var= ,否则var=content
var=${str=content} // 如果str没有设置值,var=str=content ,否则var=content
var=${str:=content} // 如果str没有设置值或者str为空,var=str=content ,否则var=content
var=${str?content} // 如果str没有设置值,content输出到stderr ,否则var=str
var=${str:?content} //如果str没有设置值或者str为空,content输出到stderr ,否则var=str