早在2007 年11 月,為了系統地學習和總結Shell 編程,作者專門製定了一個Shell 編程範例的總結計劃,當時的計劃是:
這個系列將以面向「物件」(即我們操作的物件)來展開,並引入大量的實例,這有助於讓我們真正去學以致用,並在用的過程中提高興趣。所以這個系列將不會專門介紹Shell 的語法, 而是假設讀者對Shell 程式設計有了一定的基礎。
另外,該系列到最後可能會涵蓋:數值、邏輯值、字串、文件、進程、文件系統等所有我們可以操作的“對象”,這個操作對像也將從低級到高級,進而上升到網絡層面,整個透過各種方式連接起來的電腦的集合。其實這也未嘗不是在摸索UNIX 的哲學,那KISS(Keep It Simple, Stupid)蘊藏的巨大能量。
—— 摘自《蘭大開源社群>> 腳本程式設計>> Shell 程式設計範例》
2008 年4 月底,整個系列大部分內容和框架基本完成,後來由於實習和工作原因,並沒有持續改善。不過相關章節卻獲得了較好的反響,許多熱心網友有大量評論和轉載,例如,在百度文庫轉載的一份《Shell編程範例之字符串操作》的訪問量已接近3000。說明整個系列還是有比較大的閱讀群。
考慮到整個Linux 世界的蓬勃發展,Shell 的使用環境越來越多,相關使用群體會不斷增加,所以最近已經將該系列重新整理,並以自由書籍的方式發布,以便惠及更多的讀者。
整個系列已經用Markdown重新組織,並發佈到了泰曉科技|TinyLab.org,可以透過TinyLab.org各文章右上角的Print/PDF 外掛直接下載所有章節的PDF 版本。
整理到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 的開源書籍模版,已經把該系列整理成了自由書籍,並維護在TinyLab 的專案倉庫中。項目相關資訊如下:
專案首頁:http://www.tinylab.org/pleac-shell/
程式碼倉庫:https://github.com/tinyclub/open-shell-book.git
後續除了繼續在泰曉科技|TinyLab.org以Blog 形式持續更新外,還打算重新規劃、增補整個系列,並以自由書籍的方式持續維護,並透過TinLab.org平台接受讀者的回饋,直到正式發行出版。
歡迎大家指出本書初稿中的不足,甚至參與相關章節的寫作、校訂和完善中來。
如果有時間和興趣,歡迎參與。可以透過泰曉科技聯絡我們,或直接關注微博@泰曉科技並私訊我們。