在openwrt的uci的lua模块使用中,怎么添加一个list类型option的值?
时间: 2024-10-27 11:14:14 浏览: 18
在OpenWRT 的 uci (Universal Configuration Interface) 模块中,如果你想在 Lua 中处理 list 类型的 option,首先你需要了解 UCI 提供的 `uci.add_table()` 和 `uci.set()` 函数。列表通常表示为数组或者键值对集合。
下面是一个简单的例子,展示如何添加一个名为 "example_list" 的 list 类型选项:
```lua
local uci = require("luci.model.uci")
local section = uci.cursor():new("your_section", "your_option") -- 替换为你的section和option名称
-- 创建一个新的 list 表示
section[".list"] = {}
-- 添加元素到 list
local index = #section[".list"] + 1
section[".list"][index] = {name = "item1"} -- 这里的键是你自定义的,比如"name"
section[".list"][index] = {name = "item2"}
-- 保存更改
uci:commit("your_section")
-- 或者直接设置整个 list
section[".list"] = { {name = "item1"}, {name = "item2"} }
uci:save("your_section")
-- 访问这个 list
local list_values = section[".list"]
for _, item in ipairs(list_values) do
print(item.name)
end
--
阅读全文