Shell 文件路径/文件名/字符串处理
var="/home/pkg/production/upgrade/update.V2.0R02F02_V2.0R02F02SP01.bin"
1. 删除左边的内容
${var##*/}
删除左起最后一个 ‘/’ 字符及其左边的内容:update.V2.0R02F02_V2.0R02F02SP01.bin${var#*.}
删除左起第一个 ‘.’ 字符及其左边的内容:V2.0R02F02_V2.0R02F02SP01.bin
2. 删除右边的内容
${var%%.*}
删除右起最后一个 ‘.’ 字符及其右边的内容:/home/pkg/production/upgrade/update${var%/*}
删除右起第一个 ‘/’ 字符及其右边的内容:/home/pkg/production/upgrade
3. 切片
${var:0:5}
从左往右第 1 个以及之后的5个字符: /home${var:7}
从左往右第 8 个字符开始到结束: kg/production/upgrade/update.V2.0R02F02_V2.0R02F02SP01.bin${var:0-7:3}
从右往左第 7 个字符以及之后的3个字符: P01${var:0-7}
右边第7个字符至结束: P01.bin
4. 获取目录/文件名
basename
- 文件名: update.V2.0R02F02_V2.0R02F02SP01.bindirname
- 目录名: /home/pkg/production/upgrade