在Linux上,每个软件都可以决定他希望使用的配置格式。有些使用 TOML、INI、JSON、XML、CSV、YAML、JS、CSS、脚本等。
然而,一些配置文件使用类似 INI 的文本格式,这似乎是非标准的,例如:
一种文本文件,其中每一行由一个或多个空格字符分隔的键和值组成,以“#”开头的行是注释,有时它有某种“块”(例如在 SSH 中):
Include /etc/ssh/ssh_config.d/*.conf
Host *
# ForwardAgent no
SendEnv LANG LC_*
使用一种变体(例如在 Nginx 中),其中“块”由 {} 定义:
server {
listen 127.0.0.1:80;
}
是否有任何名称/词组用于指定这种类型/系列/种类的格式?
答案1
“基于文本的配置格式,结构层次较弱”
这就是我所说的两个例子的共同点。 nginx 配置文件在语法上与 SSH 配置文件和 JSON 一样不同 - 粗略地看,它可能看起来很相似,但是两个解析器可以对文件内容执行的操作有很大不同,我什至不会想要将它们放入同一类语法中。