1. 灵活的参数
参数位置可用接收任意参数则是灵活的。例如vfs.fs.size[*],”*”星号可以使用任意的参数,例如:
vfs.fs.size[/]
vfs.fs.size[/opt]
2. Key格式
Item key格式包含key名称和他得参数,参数必须符合规范,请看下面的图片。key的定义要遵循箭头从做到右的规则,如果都符合,那这个key合法,否则不合法。
大致流程是:首先验证key名是否合法,如果存在参数那么验证参数是否合法,如果没有参数那直接跳过。如下图的意思大家现在懂了吗?
3. Key名称
key允许如下字符作为名称:
0-9a-zA-Z_-.
大致意思是说允许字符:所有数字、有大小写字幕、下划线、减号、点.
key名称从左到右走下规则,只要又一个字符不符合,那么key就不合法。
4. Key参数
item key可以又多个参数,他们之间用逗号’,’分开。如下图
key参数可以是带引号的字符串、不带引号的字符串以及数组。如下图
quoted string:带引号字符串(只能使用双引号, 不能使用单引号)
unquoted string:不带引号字符串
array:数组
参数如果为空,那么将会使用他设置的默认值。例如key icmpping[,,200,,500],其中3个参数都为空,那么每200ms会ping一次,超时时间为500ms,其它为空的参数使用默认值。
4.1 参数- 带引号
如果key参数带引号,那么任何unicode数据都合法,如果参数里面带有双引号,那么要使用”\"来转义。具体如下
4.2 参数- 不带引号
如果key参数是一个不带引号的字符串,除了逗号和右中括号其他任何unicode字符串都合法。具体看如下图
4.3 参数- 数组
如果key参数是一个数组,那么数组要多加一对中括号,并且数组里面的参数同样要遵循参数规范,具体如下图