为什么简单的 print(os.getenv("HOME")) 会返回 nil?

我是一个完全的新手,不明白为什么这个代码不起作用。有人知道发生了什么吗?

我在跟着一个教程走,只是想澄清一下,这只是一个 print(os.getenv("HOME")) 的例子

原文链接 https://stackoverflow.com/questions/70944869

点赞
stackoverflow用户2858170
stackoverflow用户2858170

如何解决这个问题:

print(os.getenv("HOME")) 打印出 nil。因此 os.getenv("HOME") 一定返回了 nil

在哪些情况下 os.getenv 会返回 nil?我们可以参考 Lua 手册:

https://www.lua.org/manual/5.4/manual.html#pdf-os.getenv

os.getenv (varname)

返回进程环境变量 varname 的值,如果该变量未定义,则返回失败。

fail 等于 nil。Lua 版本小于 5.4 时返回 nil

所以看起来 HOME 是未定义的进程环境变量。

它应该被定义吗?HOME 到底是什么?

让我们搜索“环境变量 home”,在前几个结果中我们看到:

https://superuser.com/questions/607105/is-the-home-environment-variable-normally-set-in-windows

我们正在运行 Windows,否则我们一开始就不会在这里了,所以让我们运行 print(os.getenv("UserProfile")),我们获得了成功。

2022-02-01 18:01:19