曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 4016|回复: 0
打印 上一主题 下一主题

[系统应用] uci 中多个 section 的标示顺序

[复制链接]

4917

主题

5879

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34382
跳转到指定楼层
楼主
发表于 2015-5-1 16:25:27 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
许多情况下,会有许多个相同的配置类型,比如用 uci show 命令可以看到列出结如下:
# uci show firewall
firewall.@defaults[0]=defaults
firewall.@defaults[0].syn_flood=1
firewall.@defaults[0].input=ACCEPT
firewall.@defaults[0].output=ACCEPT
firewall.@defaults[0].forward=REJECT
firewall.@zone[0]=zone
firewall.@zone[0].name=lan
firewall.@zone[0].network=lan
firewall.@zone[0].input=ACCEPT
firewall.@zone[0].output=ACCEPT
firewall.@zone[0].forward=ACCEPT
firewall.@zone[0].masq=1
firewall.@zone[1]=zone
firewall.@zone[1].name=wan
firewall.@zone[1].network=wan wan6
firewall.@zone[1].output=ACCEPT
firewall.@zone[1].masq=1
firewall.@zone[1].mtu_fix=1
firewall.@zone[1].input=ACCEPT
firewall.@zone[1].forward=ACCEPT

在输出结果中,对于 zone,出现了数组的下标形式:[0], [1] 。打开 /etc/config/firewall 来看,会发现:
config zone
        option name 'lan'
        list network 'lan'
        option input 'ACCEPT'
        option output 'ACCEPT'
        option forward 'ACCEPT'
        option masq '1'

config zone
        option name 'wan'
        list network 'wan'
        list network 'wan6'
        option output 'ACCEPT'
        option masq '1'
        option mtu_fix '1'
        option input 'ACCEPT'
        option forward 'ACCEPT'

配置了两个 zone 的节。因此,[0] 表示第一个 zone,[1] 表示第二个 zone 。这里还有一点需要提及,这个下标是可以使用负数的,比如总共有 3 个下标([0], [1], [2]),那么 [-1] 和 [2] 是等价的。观察下面的一个配置文件:
# cat /etc/config/foo
config bar 'first'
        option name 'Mr. First'
config bar
        option name 'Mr. Second'
config bar 'third'
        option name 'Mr. Third'

观察命令的输出:
root@OpenWrt:/tmp# uci get foo.@bar[0].name
Mr. First
root@OpenWrt:/tmp# uci get foo.@bar[-0].name
Mr. First
root@OpenWrt:/tmp# uci get foo.@bar[-3].name
Mr. First

root@OpenWrt:/tmp# uci get foo.@bar[1].name
Mr. Second
root@OpenWrt:/tmp# uci get foo.@bar[-2].name
Mr. Second


root@OpenWrt:/tmp# uci get foo.@bar[2].name
Mr. Third
root@OpenWrt:/tmp# uci get foo.@bar[-1].name
Mr. Third


您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2024-5-2 04:38 , Processed in 0.080645 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表