如何获取环境变量或默认字符串?

在bash中, 我可以使用${XDG_CONFIG_HOME:-~/.config}获取一个默认字符串, 如果给定的环境变量不存在. 那么在lua中怎样实现呢?

我想在这里使用它:

plugBegin(os.getenv("XDG_CONFIG_HOME") .. "/nvim/plugged")

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

点赞
stackoverflow用户11740758
stackoverflow用户11740758

使用 or,如果 nil 出现在 or 之前,就能够实现默认操作...

plugBegin(os.getenv("XDG_CONFIG_HOME") or "~/.config/nvim/plugged")

...当环境变量不存在时(即 nil)也能够实现默认操作。

由于环境变量只包含路径的一部分,如果使用链式连接符( ..)将其与"/nvim/plugged"连接,就会在变量不存在时产生 nil 错误。因此,我建议采用这种方式:

local confd = os.getenv("XDG_CONFIG_HOME") or "~/.config"
plugBegin(confd .. "/nvim/plugged")

这种方式更好,而且不存在 nil 错误。

2022-01-25 14:16:29