用参数展开设置默认值与去后缀

无需外部工具即可去扩展名或提供默认值。

macOSBash 脚本Shell脚本低风险
用 ${VAR:-default} 提供默认值,用 ${file%%.*} 去掉扩展名。

01命令

命令
$ file="report.tar.gz"; echo "${file%%.*}"; echo "${FALLBACK:-default}"

02作用说明

参数展开在 shell 内部处理变量,去后缀、替换文本和默认值都无需调用 sed 或 basename,速度更快且不易出错。规范的 shell 脚本常用它处理参数。

03风险

风险低风险
使用条件macOS default zsh/bash (bash 3.2+; some features need bash 4+ via Homebrew)
系统兼容性macOS with bash 3.2+ (GNU bash 4+ via Homebrew for advanced features)
!注意: % 与 %% 分别匹配最短和最长后缀,结果不同;先用 echo 测试。

04撤销

✓无需撤销——该命令不会改变持久状态。

05来源

最后验证: 2026-10-13 · 分类: 开发者