我正在配置一个运行 OpenWRT 的路由器,但我很难理解如何使用uci
命令(统一配置界面)来检查现有配置文件。我想在 shell 脚本中自动执行此配置。
以/etc/config/firewall
195 长的防火墙配置为例,使用cat
.
有各种规则,以第一个规则为:
root@OpenWrt:/etc/config# grep -B1 -A6 'Allow-DHCP-Renew' /etc/config/firewall
config rule
option name Allow-DHCP-Renew
option src wan
option proto udp
option dest_port 68
option target ACCEPT
option family ipv4
root@OpenWrt:/etc/config#
我可以检查第一条规则 ( @rule[0]
) 的各个字段,例如name
具有以下内容的字段:
root@OpenWrt:/etc/config# uci get firewall.@rule[0].name
Allow-DHCP-Renew
root@OpenWrt:/etc/config#
但是我无法将整个规则视为输出,我已经尝试过,uci get firewall.@rule[0].*
但这不是正确的语法。
uci
( )没有手册man uci
,所以我不确定在哪里可以找到有关如何使用该命令的信息。
这种“集体获取”是否可能?
嗯...刚刚发现我需要使用
uci show
而不是uci get
,请参见下面的示例:如果你想创建一个脚本来使用设备上的所有当前设置来设置 OpenWRT。
如果您将映像生成器用于自定义固件,请
files/etc/uci-defaults
在映像生成器目录中为该文件夹创建一个文件。