早在 2007 年 11 月,为了系统地学习和总结 Shell 编程,作者专门制定了一个 Shell 编程范例的总结计划,当时的计划是:
这个系列将以面向“对象”(即我们操作的对象)来展开,并引入大量的实例,这样有助于让我们真正去学以致用,并在用的过程中提高兴趣。所以这个系列将不会专门介绍 Shell 的语法, 而是假设读者对 Shell 编程有了一定的基础。
另外,该系列到最后可能会涵盖:数值、逻辑值、字符串、文件、进程、文件系统等所有我们可以操作的“对象”,这个操作对象也将从低级到高级,进而上升到网络层面,整个通过各种方式连接起来的计算机的集合。实际上这也未尝不是在摸索 UNIX 的哲学,那"K.I.S.S"(Keep It Simple, Stupid)蕴藏的巨大能量。
—— 摘自《兰大开源社区 >> 脚本编程 >> Shell 编程范例》
2008 年 4 月底,整个系列大部分内容和框架基本完成,后来由于实习和工作原因,并没有持续完善。不过相关章节却获得了较好的反响,很多热心网友有大量评论和转载,例如,在百度文库转载的一份《Shell编程范例之字符串操作》的访问量已接近 3000。说明整个系列还是有比较大的阅读群体。
考虑到整个 Linux 世界的蓬勃发展,Shell 的使用环境越来越多,相关使用群体会不断增加,所以最近已经将该系列重新整理,并以自由书籍的方式发布,以便惠及更多的读者。
整个系列已经用 Markdown 重新组织,并发布到了 泰晓科技|TinyLab.org。
整理到TinyLab.org的索引篇是:《Shell编程范例之索引篇》,其内容结构如下:
- Shell编程范例之开篇 (更新时间:2007-07-21)
- Shell编程范例之数值运算 (更新时间:2007-11-9)
- Shell编程范例之布尔运算 (更新时间:2007-10-30)
- Shell编程范例之字符串操作 (更新时间:2007-11-21)
- Shell编程范例之文件操作 (更新时间:2007-12-5)
- Shell编程范例之文件系统操作 (更新时间:2007-12-29)
- Shell编程范例之进程操作 (更新时间:2008-02-22)
- Shell编程范例之网络操作 (更新时间:2008-04-19)
- Shell编程范例之总结篇 (更新时间:2008-07-21)
最近,基于一个 Markdown 的开源书籍模版:Gitbook,已经把该系列整理成了自由书籍,并维护在 TinyLab 的项目仓库中。项目相关信息如下:
后续除了继续在 泰晓科技|TinyLab.org 以 Blog 形式持续更新外,还打算重新规划、增补整个系列,并以自由书籍的方式持续维护,并通过 TinLab.org 平台接受读者的反馈,直到正式发行出版。
欢迎大家指出本书初稿中的不足,甚至参与到相关章节的写作、校订和完善中来。