介绍下Shell中的${}、##和%%使用范例,本文给出了不同情况下得到的结果。
假设定义了一个变量为:
代码如下:
file=/dir1/dir2/dir3/my.file.txt
可以用${ }分别替换得到不同的值:
${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt
${file#*.}:删掉第一个 . 及其左边的字符串:file.txt
${file##*.}:删掉最后一个 . 及其左边的字符串:txt
${file%/*}:删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:删掉第一个 / 及其右边的字符串:(空值)
${file%.*}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
记忆的方法为:
# 是 去掉左边(键盘上#在 $ 的左边)
%是去掉右边(键盘上% 在$ 的右边)
单一符号是最小匹配;两个符号是最大匹配
${file:0:5}:提取最左边的 5 个字节:/dir1
${file:5:5}:提取第 5 个字节右边的连续5个字节:/dir2
也可以对变量值里的字符串作替换:
${file/dir/path}:将第一个dir 替换为path:/path1/dir2/dir3/my.file.txt
${file//dir/path}:将全部dir 替换为 path:/path1/path2/path3/my.file.txt
原文链接:linux中shell变量$#,$@,$0,$1,$2的含义解释/Shell中的${}、##和%%使用范例/export
https://blog.csdn.net/jiezi2016/article/details/79649382

最新文章

  1. 如何刷新DNS缓存
  2. Good Practices to Write Stored Procedures in SQL Server
  3. Android应用中使用AsyncHttpClient来异步网络数据(转载)
  4. Linux(CentOS)系统下设置nginx开机自启动
  5. sys.sysprocesses视图的使用小结
  6. 【iOS】Quartz2D图形上下文
  7. JAVA 调用命令并输出
  8. Mozilla推荐的CSS属性书写顺序及命名规则
  9. boost muti-thread
  10. LeetCode Excel Sheet Column Title (输出excel表的列名称)
  11. Android doGet方法
  12. Asp.Net MVC3 简单入门第一季(三)详解Controller之Filter
  13. codeforces 620F. Xors on Segments
  14. JQuery-常用小组件
  15. Chapter 3. Programming with RDDs
  16. JavaScript中的面向对象程序设计
  17. 开源控件ViewPagerIndicator的使用
  18. Developing RIA Web Applications with Oracle ADF
  19. OpenResty 在又拍云容器平台中的应用
  20. Taro开发小程序移动地图固定中间获取地址

热门文章

  1. iOS开发之3D Touch
  2. git ssh使用公钥授权怎么都不通过
  3. PE头里的东西更多。。。越看越恶心了,我都不想看了
  4. java获得磁盘、网络实时I/O速率
  5. java 和 IntelliJ IDEA 的一些配置
  6. [JZOJ2865]【集训队互测 2012】Attack
  7. JQUERY(入口函数 选择器)
  8. sql语句之条件,分页,排序
  9. PHP正则使用技巧1
  10. luoguP2398 GCD SUM [gcd]