lua - Lua 解释器
概要
lua [选项] [脚本 [参数]]
描述
lua 是独立的 Lua 解释器。 它加载并执行 Lua 程序,可以是文本源代码形式,也可以是预编译的二进制形式。(预编译的二进制文件由 Lua 编译器 luac 输出。) lua 可以用作批处理解释器,也可以交互使用。
在处理选项后,Lua 程序将加载并执行文件 script。 参数在全局表 arg 中作为字符串提供,并且作为脚本的主函数的参数提供。 如果不带参数调用,则 lua 的行为类似于 lua -v -i,如果标准输入是终端,或者类似于 lua -,否则。
在交互模式下,lua 会提示用户,从标准输入读取行,并按读取时执行这些行。 如果该行包含一个表达式,则计算该表达式并打印结果。 如果该行不包含完整的语句,则显示第二个提示,并读取行,直到形成完整的语句或找到语法错误。
在处理命令行选项和脚本之前,lua 会检查环境变量 LUA_INIT_5_4 和 LUA_INIT 的内容,按此顺序。 如果内容是“@filename”的形式,则执行 filename。 否则,假定内容是 Lua 语句并执行它。 当定义了 LUA_INIT_5_4 时,将忽略 LUA_INIT。
选项
-e stat
执行语句 stat。
-i 在执行脚本后进入交互模式。
-l mod 将库 mod 加载到全局 mod 中。
-l g=mod
将库 mod 加载到全局 g 中。
-v 显示版本信息。
-E 忽略环境变量。
-W 启用警告。
-- 停止处理选项。
- 停止处理选项并将标准输入作为文件执行。
环境变量
以下环境变量会影响 lua 的执行。 当定义时,特定版本的变体优先,并且将忽略通用变体。
LUA_INIT, LUA_INIT_5_4
在命令行选项和脚本之前执行的代码。
LUA_PATH, LUA_PATH_5_4
package.path 的初始值,require 用于搜索 Lua 加载器的路径。
LUA_CPATH, LUA_CPATH_5_4
package.cpath 的初始值,require 用于搜索 C 加载器的路径。
退出状态
如果脚本调用 os.exit,则 lua 将使用给定的退出状态退出。 否则,如果没有任何错误,lua 将退出 EXIT_SUCCESS(POSIX 系统上的 0),如果出现错误,则退出 EXIT_FAILURE(POSIX 系统上的 1)。 在交互模式中引发的错误不会导致退出。
诊断
错误消息应该可以自我解释。
参见
luac(1)
lua.org 上的文档,特别是参考手册的第 7 节。
作者
R. Ierusalimschy, L. H. de Figueiredo, W. Celes