【问题标题】:Is there any reason a System V init script has to be written in bash? [closed]是否有任何理由必须用 bash 编写 System V 初始化脚本? [关闭]
【发布时间】:2013-09-04 15:40:18
【问题描述】:

是否可以在 Perl 中编写 System V 初始化脚本(脚本通常存储在 /etc/init.d 并使用 service 运行),并让 shell 识别 #!/usr/bin/perl?这样做有什么缺点吗?

【问题讨论】:

  • 更多系统安装了 bash/sh,但除此之外......

标签: perl bash init.d


【解决方案1】:

脚本它们自己可以用任何语言编写,但支持工具可能需要解析脚本以获取决定 initscript 何时启动/停止所需的元数据。这将选择限制为能够以工具接受的形式提供此元数据的选项。

此外,可能有一些外部文件用 shell 脚本编写,initscript 需要这些文件才能正确/高效/有效地运行。除非这些文件非常简单,否则任何用于读取它们的解析器都可能变得非常复杂。

【讨论】:

  • 元数据的脚本解析是什么样的?
  • 这取决于操作系统。对于 Linux,请阅读 LSB 以了解元数据的外观。
  • 最低有效位?我很困惑这些元数据如何决定 sysv 脚本。
  • @mpapec:Linux 标准基础。一些发行版的 cmets 具有脚本应该启动/停止的运行级别。 10-15 年前,SuSE 和 RedHat 有所不同,现在它们可能都遵循 LSB 准则。见:refspecs.linuxfoundation.org/LSB_3.1.0/LSB-Core-generic/…
猜你喜欢
  • 2017-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-09-14
  • 1970-01-01
  • 2021-05-06
  • 1970-01-01
  • 2013-10-07
  • 2013-01-03
相关资源
最近更新 更多