1.${var##Pattern}
${var##Pattern}是用来从变量$var的开头删除最长$Pattern的子串
2.实例
样例1:
[root@kibana ~]# var=00001234
[root@kibana ~]# echo ${var##+(0)}
1234
[root@kibana ~]#
样例2:
[root@kibana ~]# cat strip_leading.sh
#!/bin/bash
strip_leading ()
{
shopt -s extglob
#打开扩展的通配globbing
local val=${1##+(0)}
#使用局部变量,匹配开头最长连续的一个或多个0,如果不去掉的话,BASH就会把这个值当作8进制的值来解释
shopt -u extglob
#关闭扩展的通配globbing
strip_leading_zero=${val:-0}
#如果输入为空,那么返回0来代替" "
echo $strip_leading_zero
#输出最终结果
}
strip_leading $1
exit 0
[root@kibana ~]# sh strip_leading.sh 00001234
1234
[root@kibana ~]# sh strip_leading.sh
0
[root@kibana ~]#