話をサンプルスクリプトに戻します。終了ステータスを拾った後は、各種設定を元通りに戻しています。他の場所でエコーをOFFにしているので、ONへ(echoではなくsaneにしたのは単に手抜きです。"\033[?25h")、カーソル位置を10行目0桁に移したのは("\033[10;0H")なんとなくです、無くても可。$EXIT_STATUS」を拾わないためです。TERM前述のreset_and_exitをシグナルハンドラとして登録しておきます。reset_and_exit)を指定できます。プロセスを中断したことはあるでしょうか。あれはSIGINTです。プロセスをサスペンドするとSIGTSTPでしょうか。コマンドは名前が物騒ですが(=殺)、これがシグナルを飛ばすコマンドです。Unix/Linuxではシグナルは重要なので、どんなものがあるかは一度は目を通しておくと良いかと。いうわけで、シグナルを適当に拾ってます。SIGKILL(=9)とかは強制終了なので、たぶん指定したところで拾えないのでご注意を。0は、シグナルではなくふつうにexitなどで終了した場合を拾うときに指定します。"\033[?25l"メインの処理に進む前の、最後の下準備。-echo)そして制御シーケンスでカーソルも非表示に("\033[?25l")しています。doneここがメインの処理になります。whileループで永遠にキー入力を待ち続けます。お疲れ様でしたサンプルのセンスはさておき、シェルでもいろいろできるな〜という一例になればと思います。仕込んでおくと)なにかと便利ですよね。このゲームは元ネタ(過去に作ったGoogleアプリ)があって、処理イメージはJavaでもshでも同じように作りました。使用して作成しています。使用しています(このサイトについて)。