lua/luci入门

2023-10-27

lua

注释 -- 单行注释 --[[ ]]-- 多行注释
数据类型可以用type函数判断 nil(未使用过的变量,既是值,也是类型) boolean string number(相当于c里的double) table(唯一的数据结构,基本与php数组类型同,索引数组从1开始) function userdara thread 
lua的真假判断 lua将0和空字符串也视为真,实际上,除了nil和false,其余皆为真
字符串连接用 .. 
比较运算不等 ~=
v1 and v2  若v1为真则取v2,若v1为假则取v1
v1 or v2  若v1为真则取v1,v1为假取v2
(v1 and v2) or v3  相当于 v1 ? v2 : v3
迭代 for i=10,1,-1 do print(i) end  pairs ipairs(数组) 
os.execute 执行命令行 os.date os.time时间函数

luci

controller
module("luci.controller.控制器名", package.seeall)
function index()
        entry(路径, 调用目标, _("显示名称"), 显示顺序)
        end
第二项为调用目标,调用目标分三种,分别是执行指定方法(Action)、访问指定页面(Views)以及调用CBI Module。
uci
UCI的方式,我们首先需要创建对应的配置文件(如果配置文件不存在的话,访问配置页面将会报错),格式即为linux配置文件的格式,文件需要存储在/etc/config/配置文件文件名”,内容如下:
config login
    option username ''
    option password ''
    option ifname 'eth0'
    option domain ''
m = Map("配置文件文件名", "配置页面标题", "配置页面说明")
同时我们设定不允许增加或删除Section(“.addremove = false”),以及不显示Section的名称(“.anonymous = true”)。
s = m:section(TypedSection, "login", "")
s.addremove = false
s.anonymous = true
Section中不同内容的交互(创建Option),常见的比如有Value(文本框)、ListValue(下拉框)、Flag(选择框)等等,
详细的可以参考官方的文档: http://luci.subsignal.org/trac/wiki/Documentation/CBI
添加depends事件--当Atrigger 选中B的C时
-- A:depends (B,C) 似乎只有listValue可用
xxx.default = 300 --默认值
xxx.datatype    = "uinteger" --默认数据类型
xxx.password = true --密码输入框
xxx.optional = false --optional 设置是否写入config文件  
xxx.rmempty=true --可以为空 false 不可为空
xxx.placeholder = 16 --placeholder属性
xxx.value = 300 --value即为300
button的属性
hup.inputstyle = "reload" --在按钮中使用图标 循环
term.inputstyle = "remove" --文件叉
kill.inputstyle = "reset" --红叉
l.inputstyle = "apply" --类似播放键
l.inputstyle = "link" --类似返回
判断是否点击
local apply = luci.http.formvalue("cbi.apply")
if apply then
    --[[
        需要处理的代码
    ]]--

end


资料源自本人及同事及(包括但不限于)以下网络资源:

openwrt中luci学习笔记 http://blog.chinaunix.net/uid-23780428-id-4367351.html
【OpenWRT之旅】如何自定义一个配置文件的设置界面 4367351.htmlhttp://www.cnblogs.com/gnuhpc/archive/2013/08/31/3293204.html
luci学习指南
http://wenku.baidu.com/view/156e3e7b1711cc7931b7167f.html
openwrt开源系统LUCI配置界面
http://www.right.com.cn/forum/thread-131035-1-1.html
【OpenWRT之旅】如何自定义一个配置文件的设置界面
http://www.cnblogs.com/gnuhpc/p/3293204.html
开发OpenWrt路由器上LuCI的模块 - 大魔王mAysWINd
http://www.tuicool.com/articles/zaUNfy
http://www.codingnow.com/2000/download/lua_manual.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

lua/luci入门 的相关文章

  • ubuntu 12.04安装OpenGL

    安装 建立基本编译环境 首先不可或缺的 就是编译器与基本的函式库 如果系统没有安装的话 请依照下面的方式安装 sudo apt get install build essential 安装OpenGL Library 接下来要把我们会用到的
  • torchvision详细介绍

    前言 深度学习道路漫漫 唯有不断总结 脚踏实地才能造就一番就成 也不断勉励自己 不要放弃 相信自己可以的 共勉 torchvision简介 torchvision是pytorch的一个图形库 它服务于PyTorch深度学习框架的 主要用来构
  • 基础不牢地动山摇之IO流1(File、FilelnputStream、FileOutputStream)

    目录 文件与文件流理解 创建文件常用的三种方式 File构造方法 获取文件信息 目录的操作和文件删除 1 删除文件 2 删除目录 3 创建多级目录 IO流原理及流的分类 原理 分类 IO流体系图 常用的类 InputStream 字节输入流
  • matlab最小二乘法_最小二乘法原理详解

    本文是 Least squares approximation 的学习笔记 这个视频从线性代数的角度 对最小二乘法的原理讲解的通俗易懂 1 提出问题 如上图所示 A 是一个n行k列的矩阵 每行可以看作是一个观测数据 或者一个训练样本 的输入
  • 包区别 版本_Lerna-如何优雅地管理多个npm包

    关于 Lerna Lerna A tool for managing JavaScript projects with multiple packages lerna js org 对于 lerna 的两段描述 A tool for man
  • 锐捷路由技术系列

    1 锐捷路由技术 锐捷路由器基本功能的初始化配置 主机名 推荐配置 Ruijie config hostnameNAME txt 将设备命名为NAME txt 接口描述 推荐配置 XWRJ config interfaceinterface
  • Linux less命令和Linux head命令

    less 工具也是对文件或其它输出进行分页显示的工具 应该说是linux正统查看文件内容的工具 功能极其强大 less 的用法比起 more 更加的有弹性 在 more 的时候 我们并没有办法向前面翻 只能往后面看 但若使用了 less 时
  • python之类、对象详解,实例化代码示例,构造函数与析构函数,私有属性和方法

    世界万物节皆可分类 世界万物皆可对象 只要对象 肯定属于某种类 只要对象 肯定有属性 类 具有相同属性 方法对象的抽象 对象 类的实例化 每个对象可有不同属性 类的三大特性 封装 将数据方法放到类里 类就变成了一个胶囊或者容器 继承 一个类
  • 安装Cpython解释器(day02)

    安装Cpython解释器 Python解释器目前已支持所有主流操作系统 在Linux Unix Mac系统上自带Python解释器 在Windows系统上需要安装一下 具体步骤如下 1 1 下载python解释器 打开官网 https ww
  • Sql执行平时都很快但是偶尔就会很慢

    Sql执行平时都很快但是偶尔就会很慢 记录一下在翻看MySQL技术文章的资料 觉得很不错就自己记录一下 大部分来源于网络 SQL执行变慢的原因 一条Sql执行很慢 那是每次执行都慢还是偶尔慢 简单的总结一下 一 针对偶尔慢的原因 数据库在刷
  • 蓝桥杯零基础冲过赛-第22天

    注意 因为蓝桥杯大部分题目都会涉及到数据规模过大问题 所以大整数是解决数据规模过大的问题的其中一种最简便的方式 核心 竖式个位对齐原理 文章目录 大整数加法 大整数减法 大整数乘法 大整数除法 大整数余数 大整数加法 意义 因为数据类型有s
  • 摸鱼时间少? 是时候学会用Vue自定义指令进行业务开发了

    文章目录 前言 一 博主用Vue自定义指令在业务中实现了什么需求 1 首屏Loading切换指令 用来占位 支持调节Loading样式 2 复制指令 3 文件流形式下载后端数据 转blob下载 4 防抖 支持设置延迟时间 5 按钮或菜单权限
  • 永远怀念左耳朵耗子陈皓——IT界的失去

    2023年 中国IT界遭遇了一次巨大的损失 左耳朵耗子陈皓先生的离世让人震惊和悲伤 作为一位杰出的技术专家和开源倡导者 他为IT界做出了卓越贡献 本文将回顾他的职业生涯和他对IT界的重要影响 以及他离世后的深远意义 第一部分 IT界的璀璨明
  • Opencv

    Opencv 检测框线 模糊判断 计算图片相似度 开操作检测横竖线 拉普拉斯方差判断模糊度 直方图统计判断图片相似性 开操作检测横竖线 开操作是先选定合适结构元对图像进行腐蚀处理再用相同结构元对图像进行膨胀处理 开操作可以平滑物体轮廓 断开
  • C++并发编程(5):std::unique_lock、互斥量所有权传递、锁的粒度

    std unique lock lt gt 灵活加锁 参考博客 线程间共享数据 使用互斥量保护共享数据 C 多线程unique lock详解 多线程编程 五 unique lock 相较于std lock guard std unqiue
  • iOS - 线程中常见的几种锁

    线程锁主要是用来解决 共享资源 的问题 实际开发中或多或少的都会用到各类线程锁 为了线程的安全我们有必要了解常见的几种锁 下面是本人查看一些大牛的博客然后整理的内容 加上自己的一些见解 水平有限 如果不慎有误 欢迎交流指正 常见锁列举 自旋
  • OpenStack 学习笔记(一) 概况

    偶然机会 需要了解一下OpenStack的概况 因此与几个同事一起看了一下 此学习笔记是记录一下学习的知识点 备自己以后回顾复习 一 OpenStack 概况 OpenStack是一个由NASA 美国国家航空航天局 和Rackspace合作
  • python处理wav文件时出现error:X和Y不在同一维度

    python处理wav文件时出现error X和Y不在同一维度 ValueError x and y must have same first dimension but have shapes 1290240 and 2580480 记录

随机推荐

  • Python 动态规划解决不同路径问题

    目录 一 LeetCode 62 不同路径 1 题目描述 2 解题思路 3 代码 二 LeetCode 63 不同路径II 1 题目描述 2 解题思路 3 代码 三 LeetCode 64 最小路径和 1 题目描述 2 解题思路 3 代码
  • 初识Django

    虚拟环境 python pip install Virtualenv pip install Virtualenvwrapper win workon 查看当前虚拟环境 mkvirtualenv xx 创建虚拟环境xx 默认的虚拟环境存放的
  • 编译系统总结篇-Android10.0编译系统(十一)

    Android取经之路 的源码都基于Android Q 10 0 进行分析 Android取经之路 系列文章 系统启动篇 Android系统架构Android是怎么启动的Android 10 0系统启动之init进程Android10 0系
  • Linux CentOS7 添加中文输入法

    在安装CentOS7时 现在默认安装了桌面中文系统 可以切换为英文 中英文可以按要求随时更换 而在CentOS7桌面环境下 显示中文非常方便 正确 但不能录入中文 在远程登录系统的情况下 不论是系统语言 LANG 设置为中文或英文 都可以在
  • 获取lib库中Filler/buffer/CK单元的类型——innovus

    1 Filler的所有类型 命令 dbGet dbGet head allCells name FIL p name 2 BUFFER的所有类型 命令 dbGet dbGet head allCells name BUF p name 3
  • 实时时钟芯片DS1302

    一 DS1302主要介绍 1 DS1302 的特点 DS1302 是 DALLAS 达拉斯 公司推出的一款涓流充电时钟芯片 DS1302 实时时钟芯片广泛应用于电话 传真 便携式仪器等产品领域 它的主要性能 指标如下 1 DS1302 是一
  • 正则校验-我需要的正则表达式知识

    正则校验 我需要的正则表达式知识 正则表达式由正则表达式引擎提供支持 不同编程环境有不同的正则表达式引擎 在实际使用正则表达式的过程中会有一些差别 什么是正则表达式 正则表达式是用于描述匹配复杂字符串规则的工具 一个正则表达式对应着一个文本
  • Mybatis基础知识浅谈

    Mybatis浅谈 目录 1 什么是Mybatis 2 Mybatis的快速入门 2 1MyBatis开发步骤 2 2 环境搭建 3 MyBatis的增删改查操作 3 1 MyBatis的插入数据操作 3 2 MyBatis的修改数据操作
  • 可执行文件的格式(ELF格式)详解

    各种讲解elf文件格式一上来就是各种数据类型 看了半天却不知道这些数据类型是干啥的 所以咱就先找个例子直接上手 这样对elf文件格式有个具体而生动的了解 然后再去看那些手册 就完全不惧了 我们使用一个汇编程序max s并对其进行编译链接产生
  • vant 使用deep修改样式不好使解决方案

  • php7 libevent扩展,PHP7 安装event扩展的实现方法

    Libevent 是一个用C语言编写的 轻量级的开源高性能I O框架 支持多种 I O 多路复用技术 epoll poll dev poll select 和 kqueue 等 支持 I O 定时器和信号等事件 注册事件优先级 PHP提供了
  • 【牛客】四选一多路器

    描述 制作一个四选一的多路选择器 要求输出定义上为线网类型 状态转换 d0 11 d1 10 d2 01 d3 00 信号示意图 波形示意图 输入描述 输入信号 d1 d2 d3 d4 sel 类型 wire 输出描述 输出信号 mux o
  • 前端面试题之React

    文章目录 1 React生命周期 V16 3 之前 挂载阶段 组件更新阶段 卸载阶段 新增后 挂载阶段 更新阶段 static getDerivedStateFromProps shouldComponentUpdate render ge
  • SSM myBatis 配置及自动生成Bean 和 Dao

    因为我发现在做SSM 的配置的时候 配置中出现一点问题都会导致项目打包失败或者其他问题 但是我发现网上很多都没有贴出每个配置文件的代码 如果是新手在配置上就会走很多的弯路 所以这里我贴出所有配置文件的代码 这样会方便很多新手快速的构建正确的
  • Arduino控制舵机

    一 舵机一般有三根线 和Arduino连接一般如下 二 代码分析 include
  • 为什么我们使用Story Points进行估算?

    故事点 Story Points 简介 Scrum指南告诉我们 估算应该由将要完成工作的人提供 但它并没有告诉我们应该如何提供估算 它把这个决定留给了我们 Scrum团队使用的一种常见策略是使用称为故事点的度量单位进行估算 但为什么要使用S
  • hive的row_number()、rank()和dense_rank()的区别以及具体使用

    row number rank 和dense rank 这三个是hive内置的分析函数 下面我们来看看他们的区别和具体的使用案例 首先创建一个文件test A 1 B 3 C 2 D 3 E 4 F 5 G 6 1 2 3 4 5 6 7
  • 国际化字符编码处理总结

    在处理国际化时 处理不当就会产生乱码 通用的做法是都转换为UTF 8编码 对于高层开发语言十分简单 对于底层编程语言则有些复杂 其中涉及的概念也有很多 字符是指计算机中使用的字母 数字 字和符号 包括 1 2 3 A B C 等等 在 AS
  • ‘‘‘python‘‘‘内置函数

    目录 关键字 class 定义类 内置函数 和定义函数的调用一致 常用方法 字符串的方法
  • lua/luci入门

    lua 注释 单行注释 多行注释 数据类型可以用type函数判断 nil 未使用过的变量 既是值 也是类型 boolean string number 相当于c里的double table 唯一的数据结构 基本与php数组类型同 索引数组从