LUA_INIT 环境变量无法正常工作。

我对Lua语言还不够熟悉,正在尝试不同的方法。手册中说,在解释器启动之前,它会查找环境变量LUA_INIT,如果它的形式是@filename,则解释器将首先运行文件filename

我使用的是ubuntu,在尝试将LUA_INIT变量定义为@/home/tontyoutoure/lua/lua_init.lua后,我在其中编写了一个简单的函数,用于返回自然数的阶乘:

function fact(n)
    if n == 0 then
        return 1
    else
        return n*fact(n-1)
    end
end

我检查了变量,好像没问题:

$ echo $LUA_INIT
@/home/tontyoutoure/lua/lua_init.lua

我想解释器应该先加载函数fact,但当我启动解释器并进行简单测试时:

$ lua
> = fact(5)
stdin:1: attempt to call global 'fact' (a nil value)
stack traceback:
    stdin:1: in main chunk
    [C]: in ?

我觉得解释器似乎没有加载文件。 那么我哪里错了?

点赞