Bash 和脚本

“撰写脚本”就是把命令组织成可以自动执行的程序,然后把它保存为文本文件,而该文件就称为“脚本”。每次执行脚本时,这些命令则依次执行,和您在终端中输入命令的顺序相同。
脚本既可以用于执行一些简单的命令,也可以通过构建成熟的代码来解决复杂的任务。

index Bash

由于脚本非常依赖于它们的解释器 Shell,所以您必须非常地了解 Haiku 所使用的 BASH。Bash 的使用非常广泛,所以网上的资源也非常多。其中 Johan Jansson 的 bash介绍 - BeOS的bash教程就是一个非常好的文档。更多的详细内容可以参考 Bash 参考手册(PDF, 720 KiB)

index 脚本圣经

在您了解了Shell的基础之后,您可以慢慢的让自己融入脚本的世界。同时,您会在网上或者书店里找到许多相关的教程和参考资料。 其中有一个非常好的介绍资料就是Scot Hacker的BeOS圣经中的 Scripting ChapterPDF, 900kb),它是专为 Haiku 系统所定制的。

indexHaiku的脚本

Haiku 曾经利用脚本进行系统的启动和关闭。现在它使用 launch_daemon 。 但是,用户仍然可以通过指定的用户脚本控制这些过程。 如果它们不存在,您必须手动创建这些文件。当然如果已经存在,您只需要在其中适当的地方添加希望执行的命令即可。

index UserBootscript 脚本

/boot/home/config/settings/boot/UserBootscript 脚本会在系统完成启动进程之后开始运行。例如,您可以在该脚本中添加一些命令来实现相关程序的自动启动:

# Start LaunchBox
/boot/system/apps/LaunchBox &

# Start Workspaces Applet
/boot/system/apps/Workspaces &

需要注意的是,要在命令之后添加 "&" 字符,使其作为后台进程运行,否则该脚本将会中止运行直到该命令完成 (这种情况下:已启动的程序将会被关闭)。

对于上述的启动程序,另一种方式是把它们的快捷方式放入 /boot/home/config/settings/boot/launch 目录。右键点击你希望自动启动的程序,选择 Create Link ,然后导航至上述目录。

index UserShutdownScript 脚本

/boot/home/config/settings/boot/UserShutdownScript 是系统关机进程的第一个步骤。如果该脚本返回一个非零的结束状态,则系统关闭失败。

index UserShutdownFinishScript 脚本

/boot/home/config/settings/boot/UserShutdownFinishScript 是结束进程的最后一个步骤。需要注意的是,在该脚本执行之前,大部分的系统进程已经终止。