OpenWrt配置(UCI)

UCI简介

统一配置接口(Unified Configuration Interface ,UCI),其目的在于集中OpenWrt系统的配置。

基本语法介绍

参考:
UCI系统: https://wiki.openwrt.org/zh-cn/doc/uci
非UCI配置 : https://wiki.openwrt.org/zh-cn/doc/howto/notuci.config

UCI 编程的4个方向

(1)网页部分 Lua UCI API

UCI (统一配置接口) – 技术参考资料: https://wiki.openwrt.org/zh-cn/doc/techref/uci

LuaDoc: https://htmlpreview.github.io/?https://raw.githubusercontent.com/openwrt/luci/master/documentation/api/modules/luci.sys.wifi.html

(2)Shell脚本:Shell UCI API
UCI模块提供了一个shell脚本(/lib/config/uci.sh)并封装了UCI命令行工具的功能,这样方便了其他软件包在将UCI配置文件转换为自己格式的配置文件时使用。
uci.sh常用函数含义

函数名称 含义
uci_load 从UCI文件加载配置并设置到环境变量中,可以通过env命令来查看。该命令需要和functions.sh中的定义共同使用
uci_get 从配置文件中获取值,至少需要一个参数,指明要获取的配置信息。
uci_get_state 指定从/var/state中获取状态值。

在单独导入uci.sh时,uci_load函数并不能执行成功,因为uci_load函数引用了/lib/functions.sh的一些函数定义,因此在使用uci_load函数时需要先导入functions.sh的函数定义。

functions.sh的主要原理是将配置文件中的配置选项设置到环境变量中,然后提供接口函数在环境变量中获取。

(3)C UCI API

OpenWRT UCI C API的使用: http://www.voidcn.com/blog/bywayboy/article/p-989558.html

how to use the uci C api:https://forum.openwrt.org/viewtopic.php?pid=183335#p183335

C代码调用uci的API读openwrt配置文件指南 :
http://blog.csdn.net/u012819339/article/details/50752157

(4)CLI UCI API
基础语法,已经介绍

你可能感兴趣的:(openwrt)