file=/dir1/dir2/dir3/my.file.txt
模式 | 描述 | 结果 |
---|---|---|
${file:0:2} | 从字符串的左边 第0 个字符开始,向右 截取2 个字符 |
/d |
${file:0} | 从字符串的左边 第0 个字符开始截取,直到最后 |
/dir1/dir2/dir3/my.file.txt |
${file:0-3:3} | 从字符串的右边 第3 个字符开始,向右 截取3 个字符 |
txt |
${file: 0-4} | 从字符串的右边 第4 个字符开始截取,直到最后 |
.txt |
${file#*/} | 删掉第一个 / 及其左边的字符串 | dir1/dir2/dir3/my.file.txt |
${file##*/} | 删掉最后一个 / 及其左边的字符串 | my.file.txt |
${file##*.} | 删掉最后一个 . 及其左边的字符串 | txt |
${file%/*} | 删掉最后一个 / 及其右边的字符串 | /dir1/dir2/dir3 |
${file%%/*} | 删掉第一个 / 及其右边的字符串 | null |
${file%.*} | 删掉最后一个 . 及其右边的字符串 | /dir1/dir2/dir3/my.file |
${file%%.*} | 删掉第一个 . 及其右边的字符串 | /dir1/dir2/dir3/my |
如果中间出现*``%
需要用\
进行转义