编写包含“init”的 UNIX 脚本

编写包含“init”的 UNIX 脚本

我有一个正在设置的操作系统的安装脚本,其中一部分需要安装显卡驱动程序。为此,我需要使用以下命令切换到运行级别 2

init 2

因此,如果脚本包含

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

,由于脚本在发送 init 命令时停止了运行,因此唯一打印的内容是“The”。我想让操作系统的安装尽可能自动化,但这似乎会给安装过程带来麻烦。任何帮助都将不胜感激。

干杯,查理

答案1

作为一般方法,您可以在脚本中执行以下操作:

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

感觉有点丑,但确实有效(很久以前就用过了)。

相关内容