转自http://zoulx1982.blog.163.com/blog/static/45487219201122711221119/
操作符 | 功能 |
${var#pattern} | 从var头部开始,删除和pattern匹配的最短模式串,返回剩余串 |
${var##pattern} | 从var头部开始,删除和pattern匹配的最长模式串,返回剩余串 |
${var%pattern} | 从var尾部开始,删除和pattern匹配的最短模式串,返回剩余串 |
${var%%pattern} | 从var尾部开始,删除和pattern匹配的最长模式串,返回剩余串 |
${var/pattern/string} | 用string替换var中和pattern匹配的最长模式串,仅替换第一个匹配的串。Bash2.0及以上版本 |
${ var//pattern/string } | 用string替换var中和pattern匹配的最长模式串,替换所有匹配的串。Bash2.0及以上版本 |
设 a=”/e/test/abc.shell”
echo ${a##*/} 取文件名, 结果:abc.shell
echo ${a%/*} 取路径, 结果:/e/test
echo ${a##*.} 取扩展名, 结果:shell
echo ${a%.*} 去掉扩展名,结果:/e/test/abc
echo {a//\./} 去掉“.”, 结果:/e/test/abcshell