shell ## %% 使用说明

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.%/*

删除最后一个分隔符后面的所有数据

也就是获取最后一个分隔符之前的所有数据

原文地址:https://www.cnblogs.com/paisen/p/4027268.html