Bash とスクリプト処理
「スクリプト処理」とは、複数のコマンドを並べて書き、「スクリプト」と呼ばれるテキストファイルとして保存することで処理を自動化するテクニックのことです。スクリプトを走らせるたびに、ターミナルでそれらコマンドを手で打ち込んでいるようにひとつひとつコマンドが実行されます。
スクリプトは、単に数個のコマンドをある特定の順番で実行するものから、複雑なタスクを処理するための高度なコードのかたまりまで、多岐にわたります。
Bash
スクリプトはそれらを解釈するシェルに必然的に大きく依存するため、まずは Haiku で使用されている BASH に慣れる必要があります。BASH は広く使用されているシェルなので、オンライン上に資料が豊富に存在します。すばらしいドキュメントの 1 つに、Johan Jansson 氏の Introduction to bash - a tutorial for bash under BeOS があります。
Bash Reference Manual (PDF, 720 KiB)は、詳細に興味を持つには良いリソースです。
スクリプト処理のための必読書
シェル内で作業するためのいくつかの基礎を学んだあとは、スクリプト処理の世界にゆっくりと歩み出す時です。この場合も、豊富なチュートリアルやリファレンスをオンラインでも本屋でも見つけられるでしょう。Haiku にほぼピッタリの非常にすばらしい入門書に、オンラインで入手可能な Scot Hacker 氏による BeOS Bible の Scripting Chapter (PDF, 900kb) があります。
Haiku でのスクリプト
以前、Haiku には起動用とシャットダウン用のスクリプトがありました。今は代わりに launch_daemon を使用しています。しかし、ユーザーはまだ特定のユーザースクリプトを使ってこのプロセスを増やせます。それらがすでに存在しない場合は、ユーザー自身で必要なファイルを作成する必要があります。ほかに、コマンドを実行するプロセス内に単純に追加する方法もあります。
UserBootscript
システムの起動プロセスが完了すると、/boot/home/config/settings/boot/UserBootscript が実行されます。たとえば次のように、システムの起動ごとに自動起動するいくつかのプログラムを立ち上げられます:
# ランチャーを起動する /boot/system/apps/LaunchBox & # ワークスペースアプレットを起動する /boot/system/apps/Workspaces &
コマンドをバックグラウンドプロセスとして実行するために、コマンドの末尾を "&" で終わらせることを忘れないでください。そうしなければ、そのコマンドが完了するまで (この例では、起動したアプリケーションが再度閉じられるまで) スクリプトが停止してしまいます。
システム起動時にアプリケーションを起動させるための、上記とは別のシンプルな方法の 1 つは、それらへのリンクを /boot/home/config/settings/boot/launch ディレクトリに置くことです。これは、自動起動させたいアプリケーションを右クリックして、 にマウスカーソルを合わせたあと、前述のディレクトリへナビゲートすれば簡単に実現できます。
UserShutdownScript - まだ動作しません
/boot/home/config/settings/boot/UserShutdownScript はシャットダウンプロセスの最初のステップで実行されます。このスクリプトが 0 以外の終了ステータスを返すと、シャットダウンは中断されます。
UserShutdownFinishScript - まだ動作しません
/boot/home/config/settings/boot/UserShutdownFinishScript はシャットダウンの最終ステップで実行されます。このスクリプトが実行されるときには、システムの大部分が終了していることに注意してください。