我在/etc/profile中设置了一些环境变量,我可以从bash访问它们,但出于某种原因,我无法从Go获取它们。
/etc/profile:
...
TEST_ENV=test_me
我可以从Bash中访问它:
echo $TEST_ENV
test_me
我无法从GO访问这个变量
os.Getenv("TEST_ENV") // returns ""
如果我使用以下命令列出可用的环境变量:
os.Environ()
我没有看到我要查找的变量,但有几个变量可能会有所帮助:
SHELL=/bin/sh
USER=root
LOGNAME=root
我想我的问题与不同的会话和shell有关,所以我甚至尝试运行
exec.Command("source /etc/profile")
我尝试获取变量,但是它仍然没有返回任何内容。你能给我一些提示如何获取环境变量吗?如果它们在/etc/profile中设置的话,我更倾向于从该文件中获取它们,但如果必要的话,我也可以将这些变量放在其他地方。