上一主题: 一般要求下一主题: 配置文件中的元字符引用


标记样式

内联标记

$$prop: val1 : name1 , val2 : name2 , ...

在配置文件中的文本行上存在 $$prop: 字符串时,表示该行包含一个或多个属性值。 通常,$$prop: 字符串和文本行其余部分对使用此配置文件将其显示为注释的应用来说是不可见的(例如,如果配置文件是 Perl 脚本,它可能看起来为以下形式:

$port = 3306 # $$prop: 3306:ip_port

标记标识符字符串之后的 val:name 对的解释如下:

val1:name1 表示:此行上第一次出现的字符串 val1 被视为属性 name1 的值,并在属性需要更改时被替换。

val2:name2 表示:第一次出现的 val1 之后第一次出现的字符串 val2 是属性 name2 的值。


如果 val:name 对中的名称是字符串“-”,则忽略字符串 val。 这用于跳过可能另外匹配属性值的部分配置数据,例如,类似以下标记:

x1 = 1 # $$prop: 1:val 

导致 x1 中的 1 被视为属性 val 的值。 要使 = 符号后的字符串 1 成为属性值,标记必须是:

x1 = 1 # $$prop: 1:-, 1:val 

特殊的 '-' 属性名还用于属性值是空字符串的情况,例如,在下列标记中,属性是 "x1 = " 字符串后的空字符串:

x1 = #$$prop: "x1 = ":- , "":val 

如果值包含作为标记语法部分的标点字符(冒号、逗号、空格),该值必须使用为 ADL 描述符文件定义的双引号语法引起来。

下一行标记
$$propN: val1 : name1 , val2 : name2 , ... [$$] 

此标记用于不允许注释文本与需要显示为可修改属性的值出现在同一行上的配置文件。 它类似于内联语法,但是它表示要搜索出现标记的行之后的行上的文本中的匹配字符串,而不是当前行。

非面向行的文件的标记
$$propF: val1 : name1 , val2 : name2 , ... $$ 

此标记适用于以下配置文件:文件中新行字符被视为与其他空格无区别,并且文件更新可能导致在不带引号的空格出现的任何地方添加或删除新行。 对于此类标记,需要一个结束 $$ 序列来指示 val:name 对列表的结束。 允许在 val:name 队之间插入新行。 搜索结束 $$ 标记之后的所有文本(不考虑新行)以搜索与值相匹配的字符串,直到找到所有值或已读取每个 val:name 对的 1K 文本(如果在未找到所有值的情况下发生后一种情况,则会报告错误)。 每个属性值仍要位于一行上。