
案例:从头开始匹配,将符合最短的数据删除 (#)
variable_1="I love you, Do you love me"
echo $variable_1
variable_2=${variable_1#*ov}
echo $variable_2

案例:从头开始匹配,将复合最短的数据删除(##)
varible_3=${variable_1##*ov}
echo $varible_3

案例:替换字符串,只替换第一次匹配成功的(/)
echo $PATH
var6=${PATH/bin/BIN}
echo $var6

案例:替换字符串,符合条件的全部替换 (//)
var7=${PATH//bin/BIN}
echo $var7


简单举例(用的比较少)
var=${str-expr}
如果变量 str 没有定义,那么var=expr
如果变量 str的字符串中有值,那么 变量 var 的值就等于 str变量的值

计算字符串的长度

案例1
var="hello world"
len=${#var}
echo $len

案例2
var1="zhang biao" len=`expr length "$var1"` echo $len

获取字串在字符串中的索引位置 (把字串拆分成一个个的字串,最先匹配到的第一个就会返回)

案例

计算字串的长度 (只能从头开始匹配,用的不多)

例子:找不到返回 0,不是从头开始匹配
var="quickstart is a app" sub_len=`expr match "$var1" app` echo $sub_len

从头开始匹配
sub_len=`expr match "$var" quick*` echo $sub_len

sub_len=`expr match "$var" quick.*` echo $sub_len

抽取字串

原文:https://www.cnblogs.com/crazymagic/p/11067147.html