【问题标题】:How do I read a .env file from a .ps1 script?如何从 .ps1 脚本中读取 .env 文件?
【发布时间】:2022-12-18 14:35:41
【问题描述】:

我有一个像这样的 .env 文件:

TESTCASE_GROUP_SIZE=25
. . .

我想将它的值(读取)获取到 .ps1 脚本中。 我该怎么做?

【问题讨论】:

    标签: powershell environment-variables


    【解决方案1】:
    get-content test.env | foreach {
        $name, $value = $_.split('=')
        set-content env:$name $value
    }
    

    假设您的意思是“在文件中每行设置一个环境变量”。

    【讨论】:

    • 然后我该如何调用我的变量?像 TESTCASE_GROUP_SIZE
    • 您可以使用 $env:TESTCASE_GROUP_SIZE ,但环境变量确实如此,因此您可以启动程序并将其作为环境继承。如果那不是您正在做的事情,那么它们在哈希表中可能比作为单个变量更好。
    • 您可能希望将 foreach 的正文包含在 if ($_) { } 中以过滤空行。哎呀,您还不如使用模式过滤 env 文件中的 cmet。
    【解决方案2】:

    @TessellatingHeckler 的抛光版本以供将来参考。

    Get-Content .env | foreach {
      $name, $value = $_.split('=')
      if ([string]::IsNullOrWhiteSpace($name) || $name.Contains('#')) {
       continue
      }
      Set-Content env:$name $value
    }
    

    【讨论】:

      猜你喜欢
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 2017-10-25
      • 1970-01-01
      • 2018-03-03
      • 2019-04-29
      • 1970-01-01
      • 2021-10-25
      相关资源
      最近更新 更多