如何在 OSX 上获取操作系统环境变量?

OSX Catalina 和 zsh 作为我的终端。

我有一个启动 psql 连接的命令:

db, err := pgx.Connect(context.Background(), os.Getenv("PSQL_URL"))

但它os.Getenv("PSQL_URL")是一个空字符串。

如何确保 go 程序可以读取我的环境变量?

在终端,如果我echo $PSQL_URL得到正确的postgresql://aod:toto@localhost/dbname

如果我PSQL_URL="postgresql://aod:toto@localhost/dbname"在运行 main.go 之前导出它工作正常

我正在寻找一种持久的方法来做到这一点。

更新

我的错误如下:在里面~/.zhsrc我确实设置了 PSQL_URL="postgresql://aod:toto@localhost

代替

export PSQL_URL="postgresql://aod:toto@localhost"


交互式爱情
浏览 76回答 1
1回答

莫回无

这是读取 env 变量的正确方法go。关于可能发生的情况,我唯一想到的是您有两个不同的终端会话。在其中一个中您设置PSQL_URL(您在这个中运行echo),而在另一个中则没有设置(您在go此处运行您的应用程序)。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go