シェルスクリプトの本を執筆するにあたって参考にした本の紹介

何度かこのブログでも紹介していますが、このたび「新しいシェルプログラミングの教科書」という本を執筆しました。

新しいシェルプログラミングの教科書

新しいシェルプログラミングの教科書

本を執筆するにあたって、偉大なる先人たちの本を参考にしています。 私自身がそれらの本を読んで勉強し、その結果として今回の本ができあがりました。 どれもすぐれた本なので、ここでみなさんにも紹介します。

入門UNIXシェルプログラミング

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界

シェルスクリプトの定番として有名な本です。 この本では、具体的なシェルの関数やシェルスクリプトの例がたくさん紹介されています。

単なる文法であれば、プログラミングの素養があれば一通り身につくでしょう。 この本は入門者が文法を理解した後の次の段階として、実際に役に立つシェルスクリプトを作るにはどのように書けばよいのかを教えてくれます。 この本一冊だけでシェルスクリプトの実践的な力がつくでしょう。

入門bash

入門bash 第3版

入門bash 第3版

シェルの中でもbashに特化した本です。 対話的な使い方とシェルスクリプトとしての使い方の両方を解説しています。

この本で特に重要なのは、コマンドラインに含まれるシェルの記号をどのような規則、順番で解釈してコマンドを実行しているのかが解説されているところです。 これを読めばパラメータ置換、クォーティングなどについて正確な知識が得られます。 bashユーザに特におすすめする本です。

シェルスクリプト基本リファレンス

シェルスクリプトの構文には記号や特殊な書き方が多く、すべてを覚えておくことは困難です。 実際に作成するときにはmanなどのマニュアルを参照しながら書くわけですが、それよりも読みやすいリファレンスマニュアルとして役に立つのがこの本です。

シェルスクリプトで通常必要になる項目について一通り解説されています。 また、シェルスクリプトの移植性について意識していることも特徴です。 紹介しているシェルスクリプトの機能について、Linux/bashFreeBSD/sh、Solaris/sh、BusyBox/shの4通りの環境で使用できるかどうかが記載されています。 シェルスクリプトを作成するときに辞書のように利用できる本です。

UNIXシェルスクリプトスターピース132

UNIXシェルスクリプト マスターピース132

UNIXシェルスクリプト マスターピース132

シェルスクリプトの力を身につける良い方法は、実際のシェルスクリプトをたくさん読むことです。 Unix系OSにはいくつもシェルスクリプトが含まれているので、それらを読むのも1つの方法です。 ただし、なぜそのように書いているのかコード自身から読み取れないこともあります。 コードそのものに加えてそのコードの解説があれば、より理解が深まります。 そのような使い方ができるのがこの本です。

この本は、シェルスクリプトの実用的なサンプルとその解説を集めています。 この本を読めば、シェルスクリプトで行いたい典型的な処理の書き方について理解できます。 そのものずばりでなかったとしても、この本にある近いサンプルを土台として使えば一から書くよりずっと楽になるはずです。 サーバー管理、ネットワーク運用に関するサンプルも多いので、特にインフラ関連の人におすすめの本です。

UNIXという考え方

UNIXという考え方―その設計思想と哲学

UNIXという考え方―その設計思想と哲学

UNIXの重要な点は、その思想にあります。 この本はそのUNIXらしい考え方について解説した本です。 「小さいものは美しい」などUNIXについての思想が定理として解説されています。 どれもUNIXに限らずコンピュータ全般にあてはまる定理です。 ソフトウェア開発者だけでなく、コンピュータの利用者全般におすすめできる本です。

The Art of UNIX Programming

The Art of UNIX Programming

The Art of UNIX Programming

上の「UNIXという考え方」をより詳細に解説したような内容です。 ケーススタディとして実際のアプリケーション、ファイルフォーマットなどを例にあげ、UNIXらしいかどうか議論しています。 自分でアプリケーションの仕様を決めたり実装したりするときの指針として非常に参考になる本です。

詳説 正規表現

詳説 正規表現 第3版

詳説 正規表現 第3版

正規表現の重要性は改めて言うまでもありません。 正規表現にはさまざまな特有の記号があり、それらの意味を知ればひとまず正規表現は使用できます。

しかし実際に正規表現の処理系は、どのようにしてそれらの記号を解釈しているのでしょうか。 そのような疑問に答えてくれるのがこの本です。 この本の特徴は、正規表現の単なる使い方だけではなく、処理系がどのような手順でマッチングを行っているのかを解説しているところです。 この本を読めば正規表現エンジンの気持ちが分かるようになります。 本質を理解して効率の良い正規表現を書くために一番おすすめできる本です。

リーダブルコード

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

プログラムのコードを読んでいて、「何か読みにくいな」と感じたことはありませんか。 しかし、実際にそれをよりよく直すのは簡単ではありません。

この本はプログラムのコードの読みやすさ、分かりやすさについて解説した本です。 具体的にどのような書き方が読みにくいのか、それをどう直せば読みやすくなるのかが分かりやすく解説されています。 コードを書く機会のある人は一読することをおすすめします。

初めてのRuby

初めてのRuby

初めてのRuby

この本はRubyの入門書です。 シェルスクリプトに直接関係しているわけではありません。

この本の特徴は、その説明の簡潔さにあります。 本を執筆する上では、何を書くのか以上に何を書かないのかが大切になります。 著者としてはあれもこれもと、思っていることをどんどん書きたくなるものです。 しかし、そのように追記していくとどうしても焦点がぼやけた本になってしまいます。 無駄をそぎ落とすことによって、伝えたいことがはっきりと読者に伝わるようになります。

この本は入門書を書くにあたって、対象となる読者をプログラム言語全般の入門者ではなくRubyの入門者に絞っています。 また、その解説自体も無駄がありません。 サンプルコードも、読者が知りたかったり説明が必要になるところを的確に解説しています。 私もこのような洗練された本を書きたいと常々目標にしているので、ここで紹介します。

おわりに

ここで紹介した以外にも、世の中には参考になる本がたくさんあります。 みなさんも、ぜひすてきな本を探して読んでみてください。