Lua:将文件包含在同一目录中

l0b*_*0b0 3 import lua require include

我正在使用IMAPFilter,我想将我的全局配置保存在公共存储库中,同时将本地(和秘密)配置保存在单独的文件中.所以我imapfilter从某个目录运行,它包含〜/ .imapfilter/config.lua,应该包含./config_local.lua,其中"." 是config.lua的目录,而不是 shell $PWD或位置imapfilter.这是我到目前为止所尝试的:

require "config_local"
require "./config_local"
Run Code Online (Sandbox Code Playgroud)

编辑:绝对路径有效:

dofile(os.getenv("HOME") .. "/.imapfilter/config_local.lua")
Run Code Online (Sandbox Code Playgroud)

不是很优雅,但至少它兼容cron.

Ale*_*ysh 5

添加路径到package.path.

像这样的东西(未经测试):

package.path = package.path .. ";" .. os.getenv("HOME") .. "/.imapfilter/?.lua"
Run Code Online (Sandbox Code Playgroud)