7-Openwrt uci system
openwrt的很多配置文件都是通过uci接口来进行查看修改的,尽管我们可以通过直接打开config/下面的配置文件进行修改,但是有个统一的接口为何不用呢,又方便又不会错。
https://wiki.openwrt.org/doc/uci
config_load system
通过. /lib/functions.sh进行包含内容
config_load() { [ -n "$IPKG_INSTROOT" ] && return 0 uci_load "$@"}
调用uci_load函数,该函数位于lib/config/uci.sh中
uci_load() { local PACKAGE="$1" local DATA local RET local VAR _C=0 if [ -z "$CONFIG_APPEND" ]; then for VAR in $CONFIG_LIST_STATE; do export ${NO_EXPORT:+-n} CONFIG_${VAR}= export ${NO_EXPORT:+-n} CONFIG_${VAR}_LENGTH= done export ${NO_EXPORT:+-n} CONFIG_LIST_STATE= export ${NO_EXPORT:+-n} CONFIG_SECTIONS= export ${NO_EXPORT:+-n} CONFIG_NUM_SECTIONS=0 export ${NO_EXPORT:+-n} CONFIG_SECTION= fi DATA="$(/sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} ${LOAD_STATE:+-P /var/state} -S -n export "$PACKAGE" 2>/dev/null)" RET="$?" [ "$RET" != 0 -o -z "$DATA" ] || eval "$DATA" unset DATA ${CONFIG_SECTION:+config_cb} return "$RET"}
uci.sh里面都是uci的解决函数,如:
uci_set_default(),uci_set(),uci_get()等
最底层调用的都是sbin/uci接口
uci set
uci set network.ppp2=interfaceuci set network.ppp2.ifname=ppp2uci set network.ppp2.proto=3guci set network.ppp2.username=$useruci set network.ppp2.password=$passworduci set network.ppp2.apn=$apnuci set network.ppp2.auto=1uci set network.ppp2.device=/dev/ttyUSB3uci commitifup ppp2
uci set wireless.@wifi-device[0].disabled=0uci commit wireless wifi down && wifi up
说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 7-Openwrt uci system
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 7-Openwrt uci system