1.10 ksh和bash中的变量编辑

操作符解释
${variable#pattern}删除匹配variable值头部的pattern的最短部分
${variable##pattern}删除匹配variable值头部的pattern的最长部分
${variable%pattern}删除匹配variable值尾部的pattern的最短部分
${variable%%pattern}删除匹配variable值尾部的pattern的最长部分

其中pattern采取的是通配符模式,而不是正则表达式. 例如

var=/home/tmp/work/file.a.el则
echo ${var#/*/}                 # tmp/work/file.a.el
echo ${var##/*/}                # file.a.el
echo ${var%.*}                  # /home/tmp/work/file.a
echo ${var%%.*}                 # /home/tmp/work/file
echo ${var%/*}                  # /home/tmp/work可以用于取出目录值