GitHub 上的 cfenollosa/bashblog 做了一件很小的事:用一个 bb.sh 脚本创建博客。

把它复制到 public_html 这类公开目录,运行 ./bb.sh post,就能用命令行写文章。脚本会生成静态 HTML、首页索引和 RSS。没有数据库,也没有后台。

有意思的地方也在这里。今天大多数博客工具都在加后台、主题、插件、托管和协作,Bashblog 反而把问题压回一句话:我只想把文章发出去,能不能少装一点东西?

我的判断是,Bashblog 的价值不在“全能”。它更像一个给 Unix 用户准备的小工具:低依赖、可控、够用,但不负责现代内容系统的那些复杂需求。

它解决的是发文路径,不是网站管理

Bashblog 的定位很直白:A single Bash script to create blogs。核心文件就是 bb.sh

它依赖的是基础 Unix 工具,比如 dategrepsedhead 等。项目目标是在 GNU/Linux、BSD 和 OSX 上运行,甚至尽量不要求 Mac 用户额外安装 GNU coreutils。

基本流程也不绕:复制脚本,必要时执行 chmod +x bb.sh,再运行 ./bb.sh post。脚本会调用环境变量 $EDITOR 指定的编辑器。写完后,它生成单篇文章页面、首页和相关索引。

这条路径适合一个很具体的场景:你已经有一台能放静态文件的服务器,或者有一个能公开访问的目录,只想用 SSH 和编辑器持续写东西。

它不适合解决“管理一个内容团队”的问题。没有可视化后台,没有复杂权限,没有工作流审核,也不该把这些东西塞进一个 Bash 脚本。

问题Bashblog 的做法对用户的影响
发布形态生成静态 HTML不需要数据库和动态运行环境
写作入口./bb.sh postdraftedit适合命令行用户,不适合后台用户
基础能力草稿、预览、RSS、标签/分类、简单样式够个人博客使用
Markdown通过第三方工具或库支持不是内置必需能力,需要另行配置
外部集成Disqus、Twitter、Analytics、Feedburner 等能接服务,但不追求平台化

这里最容易误读的是“Zero dependencies”。更准确的说法是:基础运行依赖系统自带的 Unix 工具。Markdown 支持不是内置必需能力,通常要靠 Markdown.pl 等外部工具或库。

这个区别很重要。低依赖不等于全功能内置。

和现代博客平台相比,它赢在边界清楚

拿 Bashblog 去比 WordPress、Ghost、Hugo、Jekyll,很容易比歪。

WordPress 有数据库和后台,适合需要插件、主题和可视化管理的人。Ghost 更接近内容发布系统。Hugo 和 Jekyll 是更完整的静态站点生成器,结构、主题和构建体系都更丰富。

Bashblog 更像一把小刀。它只处理发文、索引、RSS、标签和基础样式。刀小,所以好带;刀小,也别指望它开工地。

工具路线更适合谁Bashblog 的差异
WordPress / Ghost需要后台、插件、多人协作的用户Bashblog 没有动态后台和数据库
Hugo / Jekyll想要完整静态站体系的写作者Bashblog 更轻,但结构能力更少
Bashblog熟悉 shell、只要静态博客的人上手依赖低,能力边界也窄

这种克制不是偶然。项目说明里强调限制新增功能,遵循 Unix 哲学:做一件事,把外部能力交给第三方软件。README 也提到,Bashblog 从约 500 行 Bash 代码增长到约 1000 行后,维护者已经开始警惕膨胀。

这就是它的产品性格。能少做,就少做。能交给系统工具,就不自己包一层。

现实约束也要摆出来。用户需要 shell 访问,需要理解静态文件部署,还要自己处理备份、权限和公开目录安全。比如 bb.sh 放在 public_html 下,哪些文件能被访问、配置里有没有敏感信息,都要自己看住。

所以它不是“更简单的 CMS”。它是“更直接的发布脚本”。这两个判断差很多。

最受影响的是两类人:会命令行的人,和想少折腾的人

对熟悉 Linux/macOS 命令行的个人开发者,Bashblog 的意义很实际。

你可以把博客当成一组静态文件来维护。写作时 SSH 到服务器,执行 ./bb.sh draft./bb.sh post,用自己熟悉的编辑器改内容。需要调整站点信息,就改配置文件里的标题、作者、首页文章数等字段。

这类用户的动作会很直接:如果现有博客只是个人笔记、技术文章和 RSS 输出,可以把 Bashblog 当成轻量方案试用;如果现在已经依赖复杂主题、评论系统、权限和后台,就没必要迁移。

对想要极简静态博客方案的技术写作者,判断也很清楚。

如果你在意的是“文章文件在我手里,生成结果可搬走”,Bashblog 有吸引力。静态 HTML、索引页、RSS 都是可见文件,迁移成本低,坏了也容易排查。

如果你在意的是“打开网页,点按钮,插图排版,多人协作”,它就不合适。这个工具默认你愿意碰命令行,也愿意为简单付出一点手工成本。

接下来最该看的,不是 Bashblog 会不会变成大平台。它不该往那个方向走。

更关键的变量有三个:基础 Unix 工具的兼容性是否稳,Markdown 等外部支持是否保持清晰,项目是否继续克制新增功能。对这种小工具来说,边界一乱,优势就没了。

开头那个问题可以收回来:一个 Bash 脚本能不能把博客发出去?能。但它只负责把文章发出去,不负责替你经营一个内容系统。

这正是 Bashblog 的价值,也是它的上限。