すべてのUNIXで20年動くプログラムはどう書くべきか デプロイ・保守に苦しむエンジニア達へ贈る[シェルスクリプトレシピ集]
「高速です」「簡単です」をウリにする言語やライブラリー、フレームワークは山ほどあるが、「どの環境でも動きます」「長年にわたって動き続けます」と主張できるものはほとんどない。そういったライブラリーやフレームワークがバージョンアップしたり廃れたりするたびに我々は苦しめられてきた。
そんな苦労から解放してくれる言語は、意外にも書き捨て言語と言われることの多いシェルスクリプトだ。さらに意外に思うかもしれないが、シェルスクリプトでも実用的な速さのプログラムは書ける。ただし、それにはPOSIX規格の遵守やUNIX哲学の実践が欠かせない。
本書では、プログラミング上よくある課題を、極力POSIXの範囲で、かつUNIX哲学的アプローチで解決したシェルスクリプトを多数例示し、高い可搬性・可用性を実現しつつ実用的なプログラムを書く方法を紹介する。
■本書でわかる5つのこと
・環境に依存せず、長持ちするプログラムの書き方(環境依存を引き起こす落とし穴)
・環境に依存しない正規表現の書き方
・シェルスクリプトで処理を行うための、たくさんの小技(レシピ)
・シェルスクリプトは意外に速くて機能も豊富という事実
・プログラム制作で参考になるUNIX哲学
※訂正情報について
初版の発行後、内容の一部に誤り等がございました。ご迷惑をおかけし、申し訳ございません。著者のサイトにて訂正情報が公開されておりますので、下記のURLをご参照ください。
https://richlab.org/coterie/pfb.html#errata
目次
序章 POSIX原理主義:その本質と可能性、実践方法を理解する
第1章 どの環境でも使えるシェルスクリプトを書く …… 文法・変数編
第2章 どの環境でも使えるシェルスクリプトを書く …… 正規表現編
第3章 どの環境でも使えるシェルスクリプトを書く …… コマンド編
第4章 Hors d'oeuvre:ちょっとうれしいレシピ
第5章 POSIX原理主義テクニック
第6章 POSIX原理主義テクニック …… Web編
第7章 知らないとハマるさまざまな落とし穴
付録 レシピを駆使した調理例
著者紹介
■著者紹介
松浦 智之
1975年11月16日生。東京都町田市出身。秋月電子通商創業者と同じ高校出身(ただし全く面識なし)。
本職はプログラマーだが、2002年、コミックマーケットにサークル参加したくて技術系同人誌を作り始める。同人誌制作で得たデザイン・商売のノウハウを元に2007年、フリーランスに。2010年、USP研究所と知り合ってシェルスクリプト主義に強い影響を受けつつ、同社の雑誌(現シェルスクリプトマガジン)創刊に携わるなど、仕事でも趣味でもシェルスクリプトライフを満喫中。他に、MSXや紀文の豆乳もこよなく愛する。
シェル魔人の正体は、USP研究所の髪型そっくりなあの人なんじゃないかと疑っている。
■監修者紹介
USP研究所 シェル魔人
シェルのあるところ、密かに現れる。20年以上にわたり、あらゆるOSのあらゆるシェルをいじくってきたらしい。年齢不詳。80以上の職を経験し、40カ国以上放浪した結果、シェルが最強であるという結論に至る。髪の毛は天然パーマ、最近は西新橋の綾野剛とちやほやされて浮かれているが、夜のお姉さんからしっかりお金をとられているらしい。
リッチ・ミカンとみかん星人は本当に関係がないのか疑っている。
担当編集者から
本書ではOSの乗り換えやバージョンアップがあったとしてもそのまま動くプログラムを作成する手法を解説しています。著者こだわりの1冊になっていますので、ぜひ、手にとって、その熱量をご確認ください!(吉成 明久)