码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • LUCI笔记


    LUCI学习笔记

    1. LUCI的跳转方式
      其实这个会看源码的都不难找出来,这里就当是为大家省点事儿吧,上代码:

    local http = require ‘luci.http’
    local dsp = require ‘luci.dispatcher’

    http.redirect(dsp.build_url(“/admin/system/wifitest”))
    http和dsp是分别加载LUCI的HTTP处理类和基础类
    最后调用HTTP处理类中的重定向函数redirect()来进行跳转,而为了URL格式规范,所以这里使用了基础类中的build_url()函数来生成规范的URL路径。
    2. LUCI 运行Linux命令的方法
    LUCI作为openwrt的内嵌CGI处理框架,它有自己的方法去的直接执行Linux的一些命令,以达到一些直接操控的目的。
    在我接触期间,发现有三种方法可以执行Linux的命令:

    使用io.execute():

    io.execute(“mkdir /data/test”) – 该函数一次只能执行一条Linux命令,好处是直接就可以用,而不用先加载类库
    使用luci.util.exec():

    luci.util.exec(“mkdir /data/test”) – 该函数也是一次只能执行一条Linux命令,这个是依赖于LUCI里的util的类,可以像这样直接写,也可以先加载类库,如下:
    local util = require ‘luci.util’; util.exec(“mkdir /data/test”)
    调用system模块里的fork_exec()函数

    local sys = require ‘luci.controller.admin.system’; sys.fork_exec(“mkdir /data/test; chmod 0755 /data/test”)
    – 该函数可以多句代码进行连续执行,或是你想做一些连贯操作的话,那么这个函数我觉得还是挺好用的。
    …其实……没有了。LUCI我没有还有好些内容没搞懂,关于执行Linux命令的方法,也只找到这几个。哦,还有,若是你不想加载库,也可以将fork_exec()移植到的你当前的控制器中,然后就能直接调用了。
    3. LUCI字符串的截取和去除空格的函数(网上摘录)
    LUCI里面,也可以说是Lua里,对于字符的操作比较少,我是PHP出身,PHP里常用的一些函数LUCI里面都没有,都要自己去定义,在这里共享一下我找到的字符串截取和去除字符串空格的函数。上代码:

    function trim(s)
    return (string.gsub(s, “^%s*(.-)%s*$”, “%1”))
    end

    – 字符串为lua: v1.122
    function cut_name(s)
    s_index = string.find(s, “:”)
    str = string.sub(s, s_index+1)
    str = trim(str)
    return str
    end

  • 相关阅读:
    七年之痒!一个 PHP 程序员职业生涯的自述
    万星开源项目:System Design Primer - 学习系统设计的必备指南
    2022 IDC中国未来企业大奖优秀奖颁布,华为云数据库助力德邦快递获奖
    android dex 优化
    C++提高编程
    计算机视觉+人工智能面试笔试总结——深度学习基础题41~51
    金仓数据库KingbaseES ksql工具用户指南及参考--4. 使用 Ksql
    编程高手必学的内存知识05:深入理解页中断
    GBASE南大通用亮相中科软寿险、财险科技“两会”应用高峰论坛
    Leetcode 392(会) 20注意细节 * 12 151 6 71
  • 原文地址:https://blog.csdn.net/m0_43453199/article/details/133278844
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号