1.1 变量的替换和测试

*表示任意字符

#表示从字符串开头进行匹配,匹配到第一个将其删除后返回

%表示从字符串尾部开始匹配,匹配到第一个将其删除后返回

##表示贪婪匹配

%%表示贪婪匹配

#!/bin/bash
variable1="I love you, do you love me?"
echo $variable1
#I love you, do you love me?
var1=${variable1#*ov}
echo $var1 
#e you, do you love me?
#!/bin/bash
variable1="I love you, do you love me?"
var1=${variable1%ov*}
echo $var1 
#I love you, do you l
#!/bin/bash
variable1="I love you, do you love me?"
var1=${variable1//ov/OV}
echo $var1 
#I lOVe you, do you lOVe me?

总结

#,% 都表示删除,/,//表示替换

  • #: 从头开始匹配,1个#,表示删除最短的匹配,2个#表示删除最长的匹配
  • %: 从结尾开始匹配,1个%,表示删除最短的匹配,2个%表示删除最长的匹配
  • /: 表示替换第一个
  • //: 表示替换所有