在Lua 5.3脚本中设置shell环境变量

时间:2016-12-28 18:23:57

标签: lua environment-variables

Windows - Lua的嵌入式实例 - 仅限共享环境 - 最近对语言的更改。

Lua脚本的结果需要提供给嵌入式Lua 5.3解释器的Windows主机应用程序。大多数情况下,我们将结果写入文本文件或剪贴板,让主机在脚本完成后读取它们。另一种方法是在主机和解释器共享的当前环境中设置envar(环境变量)。它将消除fileIO和一些字符串复制操作。

Lua有os.getenv()但没有os.setenv(),因为后者不是ANSI-C的一部分。声称能够改变环境变量的外部模块似乎在_G中改变了它的本地副本,而不是真正主机的当前环境。 (因为我没有阅读所有来源,我在这里通过封面来判断这些书籍。)此外,自版本5.3以来,全局变量_G不再存在,我认为这意味着大多数这些模块将会与当前版本的Lua不兼容。

问题:哪个模块允许在当前环境中更改变量并与Lua 5.3兼容?

1 个答案:

答案 0 :(得分:0)

您可以使用winapi模块中的setenv来更改当前进程的环境(内部使用SetEnvironmentVariable)。