1. ${变量名#匹配规则}
从变量开头进行规则匹配,将符合最短的数据删除,我们可以理解为将匹配到的符合条件的第一个字符串进行删除,注意一点,是从变量的开头开始的,并不是中间位置。
var1="I love you,Do you love me" var2=${var1#*ov} echo $var2 #输出 e you,Do you love me
2. ${变量名##匹配规则}
从变量开头进行规则匹配,将符合最长的数据删除,这个可以理解为将匹配到的符合条件的最后一个字符串进行删除,这也是从变量的开头位置进行匹配,并不能从中位置开始。
var1="I love you,Do you love me" var2=${var1##*ov} echo $var2 #输出 e me
3. ${变量名%匹配规则}
从变量尾部进行规则匹配,将符合最短的数据删除
var1="I love you,Do you love me" var2=${var1%ov*} echo $var2 #输出 I love you,Do you l
4. ${变量名%%匹配规则}
从变量尾部进行规则匹配,将符合最长的数据删除
var1="I love you,Do you love me" var2=${var1%%ov*} echo $var2 #输出 I l
5. ${变量名/旧字符串/新字符串}
变量内容符合旧字符串,则发现的第一个旧字符串会被新字符串取代掉。
var1="I love you,Do you love me" var2=${var1/love/hate} echo $var2 #输出 I hate you,Do you love me
6. ${变量名//旧字符串/新字符串}
变量内容符合旧字符串,则全部的旧字符串会被新字符串取代
var1="I love you,Do you love me" var2=${var1//love/hate} echo $var2 #输出 I hate you,Do you hate meß