msksgm’s blog

msksgm’s blog

Webエンジニアです。日々の勉強記録、技術書感想、美術観賞感想を投稿します。

「マスタリング Linux シェルスクリプト第 2 版」感想

概要

マスタリング Linux シェルスクリプト第 2 版」を読みました。 感想を書きます。

前提

目的

  • CI/CD の実力を上げるための手段としてシェルスクリプトの知識を獲得したかった
  • 出版された当初にネットで評判が良く(こちらの記事を参考にした)、おもしろそうに見えた
  • 特に、sedawk あたりを入門したかった

前提知識

調べることはあっても、シェルスクリプトを体系的に学ぶのは初めてでした。 一応、1 月に「シェル・ワンライナー 160 本ノック」を読んでいました。しかし、想定よりも難易度が高く、無理にワンライナーで書く理由もなかったので、途中でやめてしまいました。

読了時間

付録 A を除いて一通り写経した結果、だいたい 15 時間 ~ 20 時間程度かけたと考えています。 解説が丁寧で、本書のホームページで紹介されているサンプルコードもしっかりしていたので、休日を使って一気に読み切ることができました。 付録 A の内容もしっかり読み切ろうとすると、あと 5 時間ぐらい必要でした。

付録 A を飛ばした理由は、本書で一番学びたかった部分をすでに学べたので、いったん残りの部分は読み飛ばすことにしたからです。 付録 A も今後必要な知識をまとめた充実した内容だったので、都度参照するか、本書全体を読み返すタイミングで読もうと考えています。

感想

タイトルからシェルスクリプトについての厳格な本だと想像していたのですが、内容はシェルスクリプトにおける入門者向けの本でした。 今後、「シェルスクリプトについて入門的な本を知りたい」と言われたら真っ先にこの本を挙げます。

今までなんとなく利用していた文法(シバン、終了ステータス、コマンドラインリスト、制御構文)の意味を丁寧に解説しており、基礎的な部分からシェルスクリプトの理解を深められました。 そのため、簡単なシェルスクリプトの読み方と書き方について学べました。

以前から、grepsedawk は、簡単な使い方はできるけど、ちょっと混み合った使い方ができませんでした。そこで、本書を読むことで利用するハードルを下げられたと考えています。 そのため、本を読む目的だった sedawk の入門を達成できました。 ついでに以前から学びたかった grepsedawk における正規表現(BRE、ERE)の使い方も簡単に学べることができて幸運でした。 まだまだ理解が浅い部分や実務でベストな使い方ができるとは思っていないので、引き続き練習や本を読み返します。

付録 A の内容を理解することで、よりリッチなシェルスクリプトを記述できるようになれそうだと考えています。 ただ、このレベルのスクリプトを作ることは現状の目標から離れてしまうと判断したので、いったんは読み飛ばしています。 今後さらにシェルスクリプトの理解を深めるには必須の内容だと考えているので、年内には読み返したいです。

次に関連で勉強すること

シェルスクリプトは CI/CD の勉強におけるサブドメインと設定しているので、CI/CD を主体に勉強と実践をします。 ただし、プログラミング言語と同様にシェルスクリプトも忘れてしまうので、何かしらの方法で繰り返し学ぶ機会を用意したいです。

まとめ

  • シェルスクリプトの入門書として読み始め、最適だった
  • お作法的な文法について理解を得られた
  • grepsedawk なども初歩的な部分から解説してくれるので読みやすかった
  • CI/CD における適用を主目的に、忘れないように注力していく