zoukankan      html  css  js  c++  java
  • luci 中require函数包含的路径

    在 lua 脚本中常用的包含某个文件就是 require 函数。

    例如:

    #!/usr/bin/lua                     // 表明使用的是lua脚本,像shell脚本一样

    local http = require("socket.http")

    local json = require("luci.json")

    有时候会遇到需要的文件查找不到的现象。例如:

    /usr/bin/lua: /usr/sbin/test:4: module 'luci.json' not found:
            no field package.preload['luci.json']
            no file './luci/json.lua'
            no file '/usr/share/lua/luci/json.lua'
            no file '/usr/share/lua/luci/json/init.lua'

    这时候需要查找相应的路径,是否包含json 或json.lua脚本。

    可以编写一个lua脚本打印其包含的路径,如下:

    #!/usr/bin/lua

    print(package.path)

    执行脚本即可。例如:

    root@hbg:/# cat /usr/sbin/1111
    #!/usr/bin/lua

    print(package.path)

    root@hbg:/# 1111
    ./?.lua;/usr/share/lua/?.lua;/usr/share/lua/?/init.lua;/usr/lib/lua/?.lua;/usr/lib/lua/?/init.lua
    路径名称是以“;”分割开来的。

    上面的路径包含如下:

    ./?.lua                                       当前路径下的所有.lua脚本

    /usr/share/lua/?.lua                  /usr/share/lua下的所有.lua脚本    

    /usr/share/lua/?/init.lua            /usr/share/lua目录下的所有包含的目录下的init.lua脚本

    /usr/lib/lua/?.lua                       /usr/lib/lua下的所有.lua脚本

    /usr/lib/lua/?/init.lua                 /usr/lib/lua/目录下的所有包含的目录下的init.lua脚本

  • 相关阅读:
    RabbitMQ之Exchange(五)
    java classpath详解
    RabbitMQ之软件安装(一)
    RabbitMQ之概念介绍(二)
    RabbitMQ实战之Hello World(三)
    logback 控制台 自定义颜色
    hashmap
    linux学习记录 常用指令大全
    72.40个Android面试题(转载)
    break 的一个“高级用法”(转)
  • 原文地址:https://www.cnblogs.com/rohens-hbg/p/7794124.html
Copyright © 2011-2022 走看看