用 Bash 数组安全遍历文件名
把名称收进数组,再用带引号的展开遍历。
用 files=(*.md),再 for f in "${files[@]}"; do ...; done,即可处理含空格的文件名。
01命令
命令
$ files=(*.md); for f in "${files[@]}"; do echo "$f"; done02作用说明
for f in *.md 遇到含空格的文件名会出错,而数组会精确保留每个元素。这是脚本中处理大量文件的可靠方式,也是图形界面不会遇到的自动化陷阱。
03风险
!注意: 务必写成 "${array[@]}";不加引号会按空白重新拆分。
04撤销
✓无需撤销——该命令不会改变持久状态。
05来源
- bash.1.en.html manual page依据: The bash manual page documents arrays.
最后验证: 2026-10-13 · 分类: 开发者