gpt4 book ai didi

linux - 不同的 os.Getenv ("PATH") 来自 shell 和双击可执行文件

转载 作者:IT王子 更新时间:2023-10-29 02:22:22 26 4
gpt4 key购买 nike

在我的 Go 程序中,我在 Linux (Debian) 上调用了 os.Getenv("PATH"),当我从 shell 中运行该程序或在我的文件浏览器或我的计算机上双击可执行图标时,我得到了不同的结果桌面。

我已经编辑了我的 ~/.profile 以在 PATH 中包含 go 二进制文件,如下所示:

export PATH=$PATH:/usr/local/go/bin

按照建议Getting Started去指令。

当我从 shell 运行我的 os.Getenv("PATH") 程序时,它输出:

/usr/local/bin:/usr/bin:/bin:/usr/local/go/bin

但是当我通过双击输出的可执行文件运行它时:

/usr/local/bin:/usr/bin:/bin

这表明双击图标不会使用 profile 命令初始化变量。我现在如何从我的 Go 程序中获取我想要的 PATH,即包括附加目录?

最佳答案

这取决于你想要什么 PATH。

您的程序从执行它的上下文中获取环境变量。您需要修改您的 PATH 变量,以便您的系统“了解”Go 版本提供的可执行文件。当您已经有一个已编译的二进制文件时,您通常不需要“usr/local/go/bin”PATH。

关于linux - 不同的 os.Getenv ("PATH") 来自 shell 和双击可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42058136/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com