当然,在/etc/sysconfig/*
脚本中,人们可以进行普通的作业。name=value
但这些文件是由.
shell 解释的,不是吗?对于可以在其中合法(即按照操作系统的任何规则)和可移植(即跨多个操作系统)使用的 shell 语言是否有任何限制?或者可以使用任意 (POSIX) shell 语言吗?
我在想这样的事情:
- 复杂的作业:
abc=/var/${logdir}
- 采购常见的“库”或“帮助程序”脚本
这个 RedHat 文档和这个 OpenMandriva 文档深入研究可以设置的各种单独选项,但对这些文件的实际基本格式保持沉默。
/etc/sysconfig
(在 Debian 上相当于/etc/default
,做对格式有规则。 Debian 的政策手册需要/etc/default
“必须仅包含 POSIX.1-2017 格式的变量设置和注释”中的文件sh
。这个问题是关于 RedHat 的/etc/sysconfig
。)
答案1
简短:这取决于
更长:
Redhat 和 Mageia/Mandriva 使用符号链接/bin/sh
指向bash
,所以当这些是脚本时,你会得到像 sh 一样的 bash,或者 bash 本身,取决于关于采购脚本是使用 bash 还是“sh”。两个系统都有这两种情况。
并非所有文件都在/etc/sysconfig
是脚本;一些(例如/etc/sysconfig/partmon
在我的 Mageia6 机器上,或者systat.ioconf
在我的 CentOS 7 上)只是数据。有些内容是这样写的,但这不是通过获取脚本来完成的。