openwrt 启动脚本中设置一个临时uci,用于标记是否在通过脚本restart cellularmanager
时间: 2024-10-17 08:07:42 浏览: 26
openwrt恢复出厂(firstboot)
3星 · 编辑精心推荐
OpenWrt 是一个针对路由器定制化的开源固件,它允许用户对设备进行高度自定义。在 OpenWrt 的启动脚本中,如果需要设置一个临时的 UCI (Uncomplicated Configuration Interface) 来标记是否通过脚本重启 `cellularmanager` 这个服务,你可以这样做:
首先,在 `/etc/config` 目录下创建一个新的配置文件,例如 `my_script_config` 或者自定义名称,并在其中添加以下内容:
```toml
config my_script_tag
option enabled '0'
default '0'
if $uci
set value = '1' # 如果你想在脚本运行后设置这个标志为 true
trigger 'restart', 'systemctl', 'reload', 'cellularmanager', 'enable'
end
```
然后,你的启动脚本(比如 `/etc/init.d/my_custom_script.sh`)可以检查这个新的 UCI 标记,如 `uci show my_script_tag | grep -q "enabled=1"`。如果是这样,则执行重启命令:
```bash
#!/bin/sh
# 其他初始化步骤...
uci_check_result=$(uci show my_script_tag | grep -q "enabled=1")
if [ "$uci_check_result" ]; then
systemctl reload cellularmanager
fi
# ...其他脚本逻辑...
```
每次运行脚本并设置了标志后,`cellularmanager` 就会在下次启动时自动加载。
阅读全文