2007年発売で、購入したのは去年か一昨年ごろです。Amazonではなくてリアル書店で見つけました。これも、少なくとも1年は本棚に積んだままになってた本です。勇気を出して頁をめくり、サンプルコードを打ち込み始めてみたら、実質2日ほどで読み終えることが出来ました。 #amazon||> ||< - ゲームで極める シェルスクリプトスーパーテクニック:掲載スクリプトのダウンロード|gihyo.jp … 技術評論社 -- http://gihyo.jp/book/2007/978-4-7741-3202-0/shellscript_games/ 非常にユニークで面白い本でした。シェルスクリプトの全くの初心者にはオススメできませんが、ある程度シェルスクリプトを自分で組んだり、sttyコマンドを聞いたことがあり実際に弄ってみたことのある人であれば十分楽しめるレベルです。 + カーソルキーの移動であるとか、画面のクリアなどポイントを押さえたエスケープシーケンスがサンプルつきで紹介されています。 + Linux/Solaris/BSDなどのプラットフォームごとの微妙な差異をきちんと吸収していますので、Bourne Shell であればどのプラットフォームでも動く書き方を学べます。 + gihyoのページから完成したテトリスゲームやタイピングゲームをDLできます。つまり、職場で暇つぶしにこれらのゲームをしていても、本書を傍に置いておくだけで「遊んでませんよ?シェルスクリプトの勉強をしてるんです。」と言い訳できます。 Amazonでは在庫が無く、中古商品になってしまうのが残念です。 エスケープシーケンスについては、今まで本気で調べようとしなかったので良い資料が見つからなかっただけみたいで、"escapse sequence vt100"とか"escapse sequence xterm"とかで検索すると、ぼろぼろ見つかりました: - Xterm Control Sequences -- http://invisible-island.net/xterm/ctlseqs/ctlseqs.html - ANSI/VT100 Terminal Control -- http://www.termsys.demon.co.uk/vtansi.htm - Video Display Terminal Information -- VT100.net -- http://vt100.net/ 他。なぜBourne Shellでは他のソースを取り込むのが"."(dot)コマンドなのか: - reason why the bourne shell command for sourcing a script is . - Super User -- http://superuser.com/questions/176555/reason-why-the-bourne-shell-command-for-sourcing-a-script-is で、実はChapter8以降のテトリスやタイピング、スネークゲームのサンプルコードは打ち込んでません。データ打ち込むのが大変そうなんで・・・。 代わりに、自分でも本書で紹介されているテクニックを使ったゲーム未満のおもちゃスクリプトを組んでみました。 - [[yb://medias/shellscript_games_ex/common.sh]] - [[yb://medias/shellscript_games_ex/ex01.sh]] 画面上に枠が表示され、10個の"o"がばらけて表示されます。枠の中を縦横に動き回ります。枠にぶつかったら反転します。 "q"で終了、"SPACE"で縦横方向が一斉に切り替わります。 ターミナル上でこうしたゲームもどきをシェルスクリプトで作れるというのも、新鮮で楽しいです。