iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > GO >获取正确的环境变量
  • 608
分享到

获取正确的环境变量

2024-04-05 00:04:36 608人浏览 薄情痞子
摘要

哈喽!今天心血来潮给大家带来了《获取正确的环境变量》,想必大家应该对golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助

哈喽!今天心血来潮给大家带来了《获取正确的环境变量》,想必大家应该对golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助到你!

问题内容

我正在编写一个 go 实用程序,需要使用命令 which 来获取有关程序是否在 $path 中的信息,但我注意到,虽然我的程序在从终端启动时可以工作,但它不起作用如果双击打开。

我使用的代码非常简单:

wichJavaOutput, err := Command("which", "java").CombinedOutput()
if err != nil {
    return err.Error(), err
}

问题是这仅部分有效,如果 java 通过包管理器安装并且位于公共文件夹中,则可以轻松找到它,但 java 是手动安装并添加到 ~/.bashrc~ 中。 /profile 它不起作用。

我通过使用 os.getenv 获取 $path 进行了一对测试,显然...... 如果我通过终端启动程序, $path 也包含 ~/.bashrc~./profile 的部分,但是如果我通过双击启动它,它会找到 $path 的所有部分,除了那个部分在这两个文件中,考虑到它可能是加载 ~/.bashrc~./profileshell,这有点有意义,所以我尝试执行 /bin/sh -c which java/bin/bash -c哪个 java 可以工作,但也不起作用,所以问题来了:

如何在 go 中获取环境变量并在终端中获得正确的环境变量?


解决方案


您看到的问题是因为通常当在 GUI 中双击程序来运行该程序时,PATH 环境变量会设置为默认值。但是,当您的程序在终端中运行时,它会从终端继承 PATH 值。

这里要做的事情是始终使用 PATH 并让用户在想要不同的行为时适当地配置其 GUI 会话。人们总是设置不同的 PATH 值,有时只是通过更改目录来设置,并且您无法知道用户希望它从用户的 shell 配置中猜测什么。

此外,即使您想调用用户的 shell,它也不总是 bash(我使用 zsh),也不总是符合 POSIX 的 shell(例如,tcshfish 等),所以有没有一组命令可以调用 SHELL 中的程序,并且始终会产生正确的结果。

如果您的程序确实需要从终端运行,那么您应该发送一个 .desktop 文件,指示它应该从终端运行,然后就会生成一个文件。否则,要么指定一个命令行选项,让用户覆盖搜索,要么像其他程序一样使用 PATH

今天关于《获取正确的环境变量》的内容介绍就到此结束,如果有什么疑问或者建议,可以在编程网公众号下多多回复交流;文中若有不正之处,也希望回复留言以告知!

您可能感兴趣的文档:

--结束END--

本文标题: 获取正确的环境变量

本文链接: https://www.lsjlt.com/news/596607.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 获取正确的环境变量
    哈喽!今天心血来潮给大家带来了《获取正确的环境变量》,想必大家应该对Golang都不陌生吧,那么阅读本文就都不会很困难,以下内容主要涉及到,若是你正在学习Golang,千万别错过这篇文章~希望能帮助...
    99+
    2024-04-05
  • python 获取环境变量
    python 获取环境变量 参考 https://docs.python.org/2/library/os.html 使用os.environ获取环境变量字典 import os env_dist = os.environ #...
    99+
    2023-01-31
    环境变量 python
  • 配置PyCharm环境变量的正确方法
    在PyCharm中正确配置环境变量对于开发人员来说是非常重要的,因为环境变量可以帮助我们在项目中使用特定的配置信息、密钥、路径等。在本文中,我将详细介绍如何在PyCharm中正确配置环...
    99+
    2024-02-24
    环境变量管理
  • Shell eval怎么用变量获取环境变量
    这篇文章主要讲解了“Shell eval怎么用变量获取环境变量”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Shell eval怎么用变量获取环境变量”吧!场景系统中存在环境变量 USER=...
    99+
    2023-06-09
  • Java获取环境变量(System.getenv)的方法
    目录简介常用方法获得自定义的环境变量打印所有的环境变量默认环境变量及其含义简介 说明         本文用示例介绍Java获得环境变量的方法...
    99+
    2024-04-02
  • VB.NET中怎么获取环境变量
    本篇文章为大家展示了VB.NET中怎么获取环境变量,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Windows系统将很多重要的信息(比如计算机名和用户名)存储在环境变量中。访问这些变量来获取这些信息...
    99+
    2023-06-17
  • python中如何获取环境变量
    python中获取环境变量的方法:1、在win操作系统中找到python程序目录;2、打开idle工具;3、在idle中新建一个shell脚本;4、输入“import os”指令导入os模块;5、通过“os.getenv()”指令获取环境变...
    99+
    2024-04-02
  • 怎样用Python获取环境变量
    环境变量的获取通过os.environ模块。 import os print(os.environ["path"]) 或者你可以以下命令看到所有环境变量 os.environ 有时您可能需要查看完整列表 # 当key不存在时,将会报错Key...
    99+
    2023-01-31
    环境变量 Python
  • Vue配置环境变量的正确打开方式
    目录第一 配置package.json第二 配置介绍 简单说明 看详情点击上面tps第三 在根目录新建文件第四 第五 总结:第一 配置package.json p...
    99+
    2024-04-02
  • Webpack中使用环境变量的各种正确姿势
    目录写在前边业务代码使用环境变量使用webpack.DefinePlugin插件在业务代码中注入环境变量webpack.DefinePlugin引发的思考definePlugin所谓...
    99+
    2024-04-02
  • Springbootyml如何获取系统环境变量的值
    目录yml获取系统环境变量的值用法很简单读取环境变量和配置信息的方法核心的配置文件读取方式yml的配置文件yml获取系统环境变量的值 注意,这里说的是获取系统环境变量的值,譬如Win...
    99+
    2024-04-02
  • java获取和设置系统变量问题(环境变量)
    目录Java获取环境变量获取系统变量设置系统变量如何检查JDK环境变量是否配置成功总结Java获取环境变量 Java 获取环境变量的方式很简单:  System.getEn...
    99+
    2023-01-01
    java获取系统变量 java设置系统变量 环境变量
  • Springboot yml怎么获取系统环境变量的值
    这篇文章主要介绍了Springboot yml怎么获取系统环境变量的值的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Springboot yml怎么获取系统环境变量的值文章都会有所收获,下面...
    99+
    2023-06-29
  • python--读取环境变量
    转载请注明出处:python–读取环境变量 python中经常会通过环境变量来进行参数传递和环境配置。 本章记录读取环境变量的方案 首先设置环境变量 $ export ENV_PORT=3333 $ echo $ENV_PORT...
    99+
    2023-01-31
    环境变量 python
  • 如何在Linux系统中正确设置Java的环境变量?
    在Linux系统中,Java是一种广泛使用的编程语言。在使用Java编译器和运行Java程序时,必须正确设置Java的环境变量。如果没有正确设置环境变量,那么可能会导致Java程序无法编译或运行。本文将介绍如何在Linux系统中正确设置Ja...
    99+
    2023-08-31
    分布式 linux path
  • Go获取与设置环境变量的方法详解
    目录前言01 从安装 Go 说起 02 Go 如何使用环境变量 03 小结 前言 今天的文章比较基础,但却是必须掌握的,而且本文有些内容,也许你之前没想过。希望这篇文章能够让你理解环...
    99+
    2024-04-02
  • 环境变量之java环境变量
    为什么要配置环境变量? 在配置环境变量之前,首先理解什么是环境变量? 通俗来讲,环境变量是用户 预配置的将来会使用到的可执行文件的物理位置,众所周知,操作系统中几乎所有的软件都是基于如windows操...
    99+
    2023-09-13
    java jvm
  • 如何在vite里获取env环境变量浅析
    目录.env环境配置文件在cli项目中我们可以是配置.env.[mode]文件来配置环境变量在cli项目中使用.env.[mode]在vite中使用.env文件总结.env环境配置文...
    99+
    2022-11-13
    vite 环境变量 vite env环境变量 env查看环境变量
  • PHP如何获取服务器环境变量信息
    在PHP中,可以使用$_SERVER全局变量来获取服务器环境变量信息。以下是一些常用的服务器环境变量信息的示例: 获取服务器的IP...
    99+
    2024-05-06
    PHP 服务器
  • Java开发中,如何正确配置环境变量和路径?
    Java是一种广泛使用的编程语言,它可以在不同的操作系统上运行。但是,为了在开发Java应用程序时正确编译和运行代码,必须正确配置Java环境变量和路径。在本文中,我们将探讨如何正确配置Java环境变量和路径。 一、什么是环境变量和路径 在...
    99+
    2023-10-18
    path ide numy
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作