在 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脚本

luci 中require函数包含的路径的更多相关文章

  1. JS中require函数的警告提示

    在JS中常常使用require函数来引入文件或者路径,不过在使用时需要注意一点,它的参数必须是一串完整的字符串常量或者是由字符常量与变量拼接. (一)require函数的参数为一个变量,如下图所示: ...

  2. PHP中require()文件包含的正确用法

    以前看一些PHP框架源码的时候,很奇怪在文件包含的时候,会用dirname(__FILE__)来拼凑文件路 径,不知道这样做有什么好处,后来终于发现了其中的缘由. 我们来看一个简单的例子: 有a,b, ...

  3. require或include相对路径多层嵌套引发的问题

    require或include相对路径多层嵌套引发的问题   php中require/include 包含相对路径的解决办法 在PHP中require,include一个文件时,大都是用相对路径,是个 ...

  4. PHP中require和include路径问题总结

    1 绝对路径.相对路径和未确定路径 相对路径 相对路径指以.开头的路径,例如 ./a/a.php (相对当前目录) ../common.inc.php (相对上级目录), 绝对路径 绝对路径是以 / ...

  5. 【转】PHP中require和include路径问题总结

    1 绝对路径.相对路径和未确定路径 2. 相对路径: 3. 绝对路径 4. 未确定路径 5. 解决方案 1 绝对路径.相对路径和未确定路径 相对路径 相对路径指以.开头的路径,例如 ./a/a.php ...

  6. php学习笔记6--php中的文件包含 include,require,include_once,require_once

    php中的文件包含 include,require,include_once,require_once 文件包含:是指将一个文件的内容包含进另外一个文件,有利于代码的复用等.php中文件包含指令有4个 ...

  7. php中include包含文件路径查找过程

    首先,“路径”分为三种: 1.绝对路径,以/开头(unix系统)或c:等盘符开头(windows系统). 2.相对路径,以.开头,有./(当前目录)和../(上级目录). 3.其他路径,不是绝对路径和 ...

  8. PHP中文件包含的路径问题

    在程序中当前文件夹下文件路径可以表示为3种:1)绝对路径,2)相对路径,3)直接文件名 例如在/var/www下的a.php:1)/var/www/a.php 2)./a.php 3)a.php 在P ...

  9. nodejs中require的路径是一个文件夹时发生了什么

    node中使用require的时候如果路径是一个文件夹时,或者特殊的情况require('..');require('.'); 这是node实战这本书里说的情况,但是我在node6.9版本中发现不完全 ...

随机推荐

  1. Linux学习笔记:【001】Linux内核分析

    Linux内核 Linux内核是Linux系统构成中最核心的一个部分,是由5个子系统组成. 进程调度: 进程调度(SCHED)控制进程对CPU的访问.当需要选择下一个进程运行时,由调度程序选择最值得运 ...

  2. 谈一谈Elasticsearch的集群部署

      Elasticsearch天生就支持分布式部署,通过集群部署可以提高系统的可用性.本文重点谈一谈Elasticsearch的集群节点相关问题,搞清楚这些是进行Elasticsearch集群部署和拓 ...

  3. 【概括】C++11/14特性

    c++11 c++14

  4. MongoDB统计文档(Document)的数组(Array)中的各个元素出现的次数

    一,问题描述 [使用 unwind 操作符 “解包” Document 里面的Array中的每个元素,然后使用 group 分组统计,最后使用 sort 对分组结果排序] 从 images.json ...

  5. glide:4.7.1 与 26.1.0冲突

    implementation 'com.android.support:support-v4:26.1.0'implementation 'com.github.bumptech.glide:glid ...

  6. MyEclipse2017 隐藏回车换行符

    Preferences->Text Editor->Show Whitespace characters(configure visibility)->Transparency Le ...

  7. C#调用sql存储过程(sqlserver,包括返回值得类型)

    string strcon = "server=.;database=Myschool;uid=sa;pwd=123456"; SqlConnection sqlconn = ne ...

  8. Kali Linux之使用SET快捷生成钓鱼网站方法

    SET (Social Engineering Tools) 1.使用命令:setoolkit 会显示工具菜单 2.输入1 ,选择菜单中的Social-Engineering Attacks (社会工 ...

  9. 使用函数输出水仙花数 (void的用法)

    6-11 使用函数输出水仙花数 (20 分) 水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身.例如:153=1​3​​+5​3​​+3​3​​. 本题要求编写两个函数, ...

  10. 迅为IMX6开发板支持全网通4G模块丨GPS模块丨WIFI蓝牙丨千兆以太网

    迅为i.MX6开发板丨迅为i.MX6Q开发板丨四核imx6开发板丨Cortec-A9开发板丨资料介绍: 特点: 处理器:Freescale Cortex-A9四核i.MX6Q主频1GHz 核心板配置: ...