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

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

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

最新文章

  1. GpuImage简单使用
  2. FeWeb基础之JavaScript简介
  3. 如何看懂Code128条形码
  4. Java实现串口通信的小样例
  5. 自定义ScriptableObject属性显示
  6. CSS技巧和经验列表
  7. Tomcat 到底依赖JRE还是JDK
  8. webstorm Terminal 位置错乱解决方案
  9. Subsequence(序列自动机模板题)
  10. ztree带有选项框的树形菜单使用
  11. ACM-ICPC 2018 沈阳赛区网络预赛 F. Fantastic Graph (贪心或有源汇上下界网络流)
  12. AngularJS $watch 性能杀手
  13. C# 两个独立exe程序直接通信
  14. 蓝牙inquiry流程之Inquiry Complete处理
  15. The Unique MST POJ - 1679 最小生成树判重
  16. Arrays、ArrayUtils 区别
  17. 2018-2019-2 网络对抗技术 20165322 Exp2 后门原理与实践
  18. Day14 js高级部分
  19. 《WCF全面解析》-上册 1-3章 读书笔记
  20. BottomSheetDialogFragment 如何设置高度和禁止滑动

热门文章

  1. nginx日志自动切分
  2. nginx-1.10.3 编译安装
  3. python+NLTK 自然语言学习处理六:分类和标注词汇一
  4. android 中使用svg
  5. amp模板展示amp网站也可以做得很好看
  6. oracle 查询重复数据并且删除, 只保留一条数据重复数据
  7. BAPI LIST
  8. ARM汇编学习笔记
  9. JavaScript 从对象 new 说起,简单理解 this/call/apply
  10. php生成各种验证码