gpt4 book ai didi

go - 在 Windows 中使用 .env 文件设置环境变量

转载 作者:数据小太阳 更新时间:2023-10-29 03:12:10 25 4
gpt4 key购买 nike

我正在处理一组使用 .env 文件进行配置的项目,其中每个 .env 文件导出许多环境变量。文件设置如下;

export VARIABLE1=foo

为此,我经常使用 Windows Linux 子系统,但也希望能够在我的 Windows 机器上运行这些项目。有问题的项目是 Golang。

是否有任何简单的方法可以从这些 .env 文件中以编程方式设置 Windows 环境变量(最好是临时的)?这些主要是为了让我可以在 VSCode 中进行调试。

最佳答案

如果您使用的是 Windows,则可以使用 powershell 读取您的 .env 文件并将键=值对加载到您的应用可以读取的 session 级环境变量中。将下面的代码放入一个名为 DotEnvToEnvVars.ps1 的文件中(或任何您想调用的文件)。然后运行将路径传递给 .env 文件的脚本:C:> ./DotEnvToEnVars.ps1 ./myproject/.env -详细

包括可选参数:

  • -详细查看设置了哪些环境变量

  • -Remove 以删除在该 .env 文件中找到名称的所有环境变量

  • -RemoveQuotes 在创建环境变量之前从 .env 中的键/值对的值侧去除 "和 '

param(
[string]$Path,
[switch]$Verbose,
[switch]$Remove,
[switch]$RemoveQuotes
)

$variables = Select-String -Path $Path -Pattern '^\s*[^\s=#]+=[^\s]+$' -Raw

foreach($var in $variables) {
$keyVal = $var -split '=', 2
$key = $keyVal[0].Trim()
$val = $RemoveQuotes ? $keyVal[1].Trim("'").Trim('"') : $keyVal[1]
[Environment]::SetEnvironmentVariable($key, $Remove ? '' : $val)
if ($Verbose) {
"$key=$([Environment]::GetEnvironmentVariable($key))"
}
}

关于go - 在 Windows 中使用 .env 文件设置环境变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48607302/

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