用参数展开设置默认值与去后缀
无需外部工具即可去扩展名或提供默认值。
用 ${VAR:-default} 提供默认值,用 ${file%%.*} 去掉扩展名。
01命令
命令
$ file="report.tar.gz"; echo "${file%%.*}"; echo "${FALLBACK:-default}"02作用说明
参数展开在 shell 内部处理变量,去后缀、替换文本和默认值都无需调用 sed 或 basename,速度更快且不易出错。规范的 shell 脚本常用它处理参数。
03风险
!注意: % 与 %% 分别匹配最短和最长后缀,结果不同;先用 echo 测试。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- bash.1.en.html manual page依据: The bash manual page documents shell parameter expansion.
最后验证: 2026-10-13 · 分类: 开发者