子串的变量扩展
${变量%模式} 将变量值的尾部与模式进行最小匹配,并将匹配到的部分删除
$ pathname="/usr/bin/local/bin"
$ echo ${pathname%bin*}
/usr/bin/local
${变量%%模式} 将变量值的尾部与模式进行最大匹配,并将匹配到的部分删除
$ pathname="/usr/bin/local/bin"
$ echo ${pathname%%bin*}
/usr
${变量#模式} 将变量值的头部与模式进行最小匹配,并将匹配到的部分删除
$ pathname=/home/lilliput/jake/.bashrc
echo ${pathname#/home}
/lilliput/jake/.bashrc
${变量##模式} 将变量值的头部与模式进行最大匹配,并将匹配到的部分删除
$ pathname=/home/lilliput/jake/.bashrc
echo ${pathname##*/}
.bashrc
${#变量} 替换为变量中的字符个数,如果是*或@,长度则是位置参量的个数
$name="Ebenezer Scrooge"
echo ${#name}
16
https://blog.csdn.net/songyuchaoshi/article/details/109471087