UCI配置文件通常由1个或多个表达式组成,我们称之为section。
下面是一个简单的配置文件的例子
-
package 'example'
-
-
config 'example' 'test'
-
option 'string' 'some value'
-
option 'boolean' '1'
-
list 'collection' 'first item'
-
list 'collection' 'second item'
-
config 'example' 'test'表达式定义了一个类型是example名字为test的section。当然也可以定义只有类型没有用名称区分的匿名section。处理程序根据类型字段决定如何处理section中的值,因此类型很重要
-
option 'string' 'some value'和option 'boolean' '1' 定义了section中普通的值。使用boolean值或者文本值并没有语法上的不同。按照约定,boolean类型的值使用'0', 'no', 'off' 或 'false'代表假,使用 '1' , 'yes', 'on' 或 'true'代表真。
-
以list关键字开头的行定义了一个多值的选项。在我们的例子中,所有的共用一个名字collection的list表达式,将被以配置文件中相同的顺序组合到一个list控件中。
-
list和option表达式的缩进是为了增加文件可读性的不成文的规定,并不是语法需求
-
对于未写明的非必需配置选项,将使用预设值;对于未写明的必需值的请求,将触发一个应用程序错误或者其他的超出预期的行为。
通常除非标识符或者值当中有空格或者TAB,没有必要将标识符或者值用引号括起来,使用单引号或者双引号都可以。
下面所有的语句都是合法的UCI语句:
-
option example value
-
option 'example' value
-
option example "value"
-
option "example" 'value'
-
option 'example' "value"
作为对比下面列出了一些非法语句
-
option 'example" "value' (引号未正确关闭)
-
option example some value with space (少加引号)
阅读(4158) | 评论(0) | 转发(1) |