为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Go 中读取 Linux 环境变量

如何在 Go 中读取 Linux 环境变量

Go
动漫人物 2022-07-11 16:29:42
我正在尝试读取环境变量,例如将密码存储在我的代码之外。.bashrc尝试在和 中设置它/etc/environment,但没有运气:func Test_env(t *testing.T) {    variable, exists := os.LookupEnv("SOME_PASS_ENV")    log.Printf("%v%v", variable, exists)}=== RUN   Test_env2020/11/06 12:26:07 env_value:  exists?: false该变量在设置后全局可用/etc/environment。我还可以做些什么?谢谢。以防万一,getEnv("SOME_PASS_ENV")什么都不返回,这就是为什么LookupEnv要检查的原因。
查看完整描述

1 回答

?
慕斯王

TA贡献1864条经验 获得超2个赞

当您不需要区分空的环境变量值和未设置的环境变量时,使用os.Getenv获取环境变量的值。


func Getenv(key string) string

    Getenv retrieves the value of the environment variable named by the key. It

    returns the value, which will be empty if the variable is not present. To

    distinguish between an empty value and an unset value, use LookupEnv.

当您确实需要区分空的环境变量值和未设置的环境变量时,请使用os.Lookupenv 。


func LookupEnv(key string) (string, bool)

    LookupEnv retrieves the value of the environment variable named by the key.

    If the variable is present in the environment the value (which may be empty)

    is returned and the boolean is true. Otherwise the returned value will be

    empty and the boolean will be false.

使用os.Environ获取所有环境变量及其值的列表。


func Environ() []string

    Environ returns a copy of strings representing the environment, in the form

    "key=value".

旁注:也许您没有正确设置环境变量。export SOME_PASS_ENV=some_value在运行之前尝试直接在 shell 中设置go test


查看完整回答
反对 回复 2022-07-11
  • 1 回答
  • 0 关注
  • 135 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信