uci命令、shell接口、API接口

更新时间:2023-05-12 21:24:14 阅读: 评论:0

uci命令、shell接⼝、API接⼝
uci 命令:
uci help:
Usage: uci [<options>]<command> [<arguments>]
Commands:
batch
export    [<config>]                          导出配置⽂件
import    [<config>]                          以uci语法导⼊配置⽂件
changes    [<config>]                      列出配置⽂件分阶段修改的内容(没有commit),若未指定配置⽂件,则导出所有配置⽂件的修改
commit    [<config>]                        对给定的配置⽂件写⼊修改,如果没有指定参数则将所有的配置⽂件写⼊⽂件系统
add        <config><ction-type>                                      增加指定配置⽂件的类型为ction-type的匿名区段
add_list  <config>.<ction>.<option>=<string>          对已存在的list选项增加字符串
del_list  <config>.<ction>.<option>=<string>            删除已存在的list选项的字符串
show      [<config>[.<ction>[.<option>]]]                      显⽰指定的选项、配置节或配置⽂件
农机监理get      <config>.<ction>[.<option>]                            获取指定区段选项的值
t        <config>.<ction>[.<option>]=<value>          设置指定配置节选项的值,或者是增加⼀个配置节,类型设置为指定的值
delete    <config>[.<ction>[[.<option>][=<id>]]]          删除指定配置节或选项
rename    <config>.<ction>[.<option>]=<name>      对指定的选项或配置节重命名
revert    <config>[.<ction>[.<option>]]                        恢复指定的选项,配置节或配置⽂件
reorder  <config>.<ction>=<position>
Options:
-c <path>            设置配置⽂件的搜索路径 (default: /etc/config)
-d <str>                在uci显⽰中设置列表值的分隔符 in uci show
手机短信铃声
-f <file>                使⽤<file>作为输⼊,⽽不是stdin
-m                        导⼊时,将数据合并到现有包中
-n                        名称未命名部分导出(默认)
-N                        不要命名unname dctions
-p <path>            添加配置更改⽂件的搜索路径
-P <path>          添加配置更改⽂件的搜索路径,并使⽤默认值
-q                      安静模式(不打印错误信息)
-s                      强制严格模式(停⽌解析器错误,默认)
-
S                      停⽌严格模式
-X                      不要在'show'上使⽤扩展语法
uci shell 接⼝:
注:以"uci_"开头的函数和以“config_”开头的函数⼤多数功能完全相同,唯⼀不同的是uci_get等函数直接从⽂件中获取,“config_get”函数从环境变量中读取
/lib/config/uci.sh
#参考对应的命令实现
uci_load              #从uci⽂件中加载配置并设置到环境变量中
uci_t_default
uci_revert_state
uci_t_state()
uci_toggle_state豁然开朗的反义词
uci_t
uci_get_state      #指定从/var/state中获取状态值
uci_get                #从uci⽂件中获取值
uci_add
uci_rename
uci_remove
uci_commit
/lib/functions.sh
注意:在使⽤“config_”开头的函数时要先使⽤config_load,将配置⽂件载⼊环境变量
#在字符串前加‘:’并返回“:123”
w=debug  123
echo $w
最新的图片输出:":123"
config
#将配置节设置到环境变量中,供uci.sh调⽤
option
#将配置节中的选项设置到环境变量中,供uci.sh调⽤
list
#将配置节中的链表设置到环境变量中,供uci.sh调⽤
#config_unt
#调⽤config_t 清空<ction>.<option>的value值
#config_unt <ction> <option>
#config_load:  调⽤uci_load函数从配置⽂件中读取配置然后设置到环境变量中
config_load <config>
#config_get:从当前环境变量中获取配置值
# variable:⽤来存储config值的变量
#ction/option:要获取节点/选项的名字
config_get <variable>  <ction>  <option> [<default>]
#config_get_bool:从当前环境变量中获取配置值 ,并把值转换成整数
config_get_bool <variable> <ction> <option> [<default>]
#config_t:将变量设置到环境变量中以便后续读取(注:并未设置到配置⽂件中)
#ction/option
#value:要为该节点设置的值
config_t  <ction> <option> <value>
#config_foreach:遍历每个ction去调⽤callback_func函数(callback_func 的⼊参为ction name)
#[<ction type>]:只遍历这个类型的
config_foreach  <callback_func> [<ction type>]
#config_list_foreach:遍历ction下list的option值,并调⽤callback_func函数(⼊参为list option的值,有多少值调⽤多少次)config_list_foreach <ction> <list> <callback_func>
#加载/etc/modus.d/*下⾯的所有模块
inrt_modules
#应⽤shell脚本
include <shell script> [<shell script>......]
append
list_contains
ret_cb
package
default_prerm
default_postinst
find_mtd_index
find_mtd_part
group_add
group_exists
group_add_next
group_add_ur
ur_add
ur_exists
uci重要的结构体:
struct uci_context
{
帅男人
/* list of config packages */
struct uci_list root;
/* parr context, u for error handling only */ struct uci_par_context *pctx;
/* backend for import and export */
struct uci_backend *backend;
struct uci_list backends;
/
* uci runtime flags */
enum uci_flags flags;
char *confdir;
char *savedir;
/* arch path for delta files */
struct uci_list delta_path;
/* private: */
int err;
const char *func;
jmp_buf trap;
bool internal, nested;
char *buf;
甲泼尼龙说明书int bufsz;
};
uci_context:uci上下⽂结构,贯彻查询、更改配置⽂件全过程
struct uci_package
{
struct uci_element e;
struct uci_list ctions;
struct uci_context *ctx;
bool has_delta;
char *path;
/
学拉二胡
* private: */
struct uci_backend *backend;
void *priv;
int n_ction;
struct uci_list delta;
struct uci_list saved_delta;
};
uci_package:对应⼀个配置⽂件
struct uci_ction
{
宝宝学水果
struct uci_element e;
struct uci_list options;
struct uci_package *package;
bool anonymous;
char *type;
};
uci_ction:对应配置⽂件中的节
struct uci_option
{
struct uci_element e;
struct uci_ction *ction;
enum uci_option_type type;
union {
struct uci_list list;
char *string;
} v;
};
uci_option:对应配置⽂件节中的option和list
struct uci_ptr
{
enum uci_type target;

本文发布于:2023-05-12 21:24:14,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/89/889683.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:配置   选项   设置   指定   环境变量   函数   更改
相关文章
留言与评论(共有 0 条评论)
   
验证码:
推荐文章
排行榜
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图