编写包含“init”的UNIX脚本

我有一个我正在设置的操作系统的安装脚本,在脚本的一部分中,我需要安装graphics卡驱动程序。 为了做到这一点,我需要使用该命令切换到运行级别2

init 2 

所以,如果脚本由…组成

 # In run level 3 echo "The"; init 2; echo "quick"; init 3; echo "brown"; 

,唯一被打印的是“The”,这是因为当init命令被发送时,脚本停在它的轨道上。 我想使操作系统的安装尽可能地自动化,但是这似乎给这个过程带来了麻烦。 任何帮助将非常感激。

干杯,查理

作为一般的方法,你可以做的是,在你的脚本中:

  1. dynamic地创build一个名为scriptname的“init脚本”,用你需要在特定运行级别执行的命令。
  2. 从/ etc / rc runlevel .d / S99 * scriptname *创build必要的符号链接。
  3. 通过调用init 运行级别切换到运行级别
  4. init脚本脚本名将被执行
  5. 通过删除符号链接/ etc / rc 运行级别 .d / S99 * scriptname *, 脚本名可以在运行后自行禁用,然后从1到5重复。

这感觉有点难看,但确实有用(很久以前)。