path='apps/home/usr/app/test.txt' a=${path##*/} b=${path#*/} c=${path%%/*} d=${path%/*}
·······································
+ a=test.txt
+ b=home/usr/app/test.txt
+ c=apps
+ d=apps/home/usr/app
#代表前面
%代表后面
*通配符
/分隔符,也可以换成别的
可以这么理解,键盘上#在%之前,那么#代表前,%代表后面,
如果是一个#,就代表第一个分隔符前面的都要删除
如果是2个#,就代表最后一个分隔符前面的都要删除
如果是一个%,就代表第一个%后面的都要删除
如果是2个%,就代表最后一个%后面的都要删除
1.##*/
删除最后一个分隔符之前的所有数据
也就是获取最后一个分隔符/之后的所有数据
2.#*/
删除第一个分隔符之前的所有数据
也就是获取第一个分隔符/之后的所有数据
3.%%/*
删除第一个分隔符后面的所有数据
也就是获取第一个分隔符之前的所有数据
4.
3.%/*
删除最后一个分隔符后面的所有数据
也就是获取最后一个分隔符之前的所有数据