G 技术分享
变量不加引号,清理脚本删错了整个上传目录
`rm -rf $f` 遇到带空格的文件名会把一个路径拆成两个参数,删错目录。这篇文章拆开讲 shell 的分词与路径展开顺序、遍历文件名的正确写法、ssh/sudo 里引号被展开两层的陷阱,以及哪些地方加了引号反而是错的。
2026-10-29
#Bash#Shell 脚本
5
Blog
格达软件工程师的实战经验、技术选型与行业观察
`rm -rf $f` 遇到带空格的文件名会把一个路径拆成两个参数,删错目录。这篇文章拆开讲 shell 的分词与路径展开顺序、遍历文件名的正确写法、ssh/sudo 里引号被展开两层的陷阱,以及哪些地方加了引号反而是错的。
一个 Go 服务用最朴素的 Dockerfile 构建出来 1.11GB,改一行代码要等 47 秒。这篇拆开每一层看体积从哪来,用多阶段加 BuildKit 缓存把它降到 12.4MB、热构建 3 秒,并列出走到 distroless 和 scratch 之后必然会踩的坑:动态链接、CA 证书、时区、没有 shell。
开发者和开源作者现在有许多提供免费层级的服务,但要找到所有这些服务并做出明智的决定需要花费时间。这是一个包含软件(SaaS、PaaS、IaaS等)及其他提供免费开发者层级的服务的列表。 这份清单的范围仅限于基础设施开发者(系统管理员、DevOps实践者等)可能觉得有用的内容。我们喜爱所有外部的免费服务,但最好还是保持主题相关。有时候这条界限比较模糊,因此本清单有个人观点;如果我不接受你的贡献,请不要感到被冒犯。