🦞 Lobsters | 📄 原文链接 | 2026-07-26 收录

Shell 冒号什么都不做,但还是请用它

来源:refp.se — 2026-07-23

📋 概述

Filip Roséen 深入探讨了 POSIX Shell 中一个被严重低估的字符——冒号(:)。这个被称为「空命令」的内建指令自 1971 年 Thompson Shell 就已存在,它什么也不做,仅仅求值并丢弃参数。但当它与 参数展开(parameter expansion)结合时,能在一行内优雅地完成参数校验、默认值设置、文件截断和权限检查等任务。例如 : "${1:?missing argument, aborting!}" 可以替代四行的 if 语句来检查必选参数。文章还展示了用 : > file.log 截断文件、用 (: < file) && echo OK 检查可读性等实用技巧,是每个 Shell 脚本开发者都该掌握的隐藏利器。

🔑 核心要点

💡 金句

Who would have thought a single colon would be the one to save the night? ——谁能想到,一个冒号竟能挽救整个夜晚?
← 返回 Lobsters 首页