${VAR%reg}:从VAR中删除位于%右侧的通配符,通配符从右向左进行匹配,非贪婪操作
${VAR%%reg}从VAR中删除位于%右侧的通配符,通配符从右向左进行匹配,是贪婪操作
${VAR#reg}从VAR中删除位于#右侧的通配符,通配符从左向右进行匹配,非贪婪操作
${VAR##reg}从VAR中删除位于#右侧的通配符,通配符从左向右进行匹配,是贪婪操作
例题:
[root@localhost test]# file="lufubo.tar.gz"
[root@localhost test]# echo ${file%.*}
lufubo.tar
[root@localhost test]# echo ${file%%.*}
lufubo
[root@localhost test]# echo ${file#*.} #注意这里是“*.”,不是“.*”,因为这里是从左向右进行匹配
tar.gz
[root@localhost test]# echo ${file##*.}
gz
本文介绍了Shell脚本中四种变量扩展技巧:从右向左非贪婪删除、从右向左贪婪删除、从左向右非贪婪删除及从左向右贪婪删除通配符的方法,并通过实例演示了这些技巧的具体应用。

6568

被折叠的 条评论
为什么被折叠?



