Fastlane和Powershell两要素身份验证

问题描述 投票:0回答:1

在Powershell中运行fastlane并尝试获取由fastlane设置的环境变量。

我有以下代码,我试图使用它来获取变量,但是循环后FASTLANE_SESSION为空-这就是为什么我尝试在循环中自行设置env的原因:

$OUTPUT = bash --% echo y | fastlane spaceauth -u [email protected] 2>&1 | ForEach-Object {
    Write-Host $_.ToString() # print to host (console)
    if ($_ -is [string]) {
        $env:my = $env:FASTLANE_SESSION
        return $_
    }  # send only stdout through pipeline
  } | Select-Object -Last 1

解决这个问题有什么想法吗?

powershell fastlane
1个回答
1
投票
之后,FASTLANE_SESSION为空

如果fastlane输出的最后一行为空,例如换行符,那就是您得到的。没有fastlane,请改为使用java进行测试。像您的示例一样,首先测试[string]

java -version 2>&1 | foreach { if ($_ -is [string]) { return $_; } } | select -Last 1;

无输出。

第二个非空白字符测试:

java -version 2>&1 | where { $_ -match '\S+' } | select -Last 1;

输出当前安装的版本。

对于您的特定示例,这样的方法应该起作用:

$OUTPUT = fastlane spaceauth -u [email protected] 2>&1 | where { $_ -match '\S+' } | select -Last 1;
© www.soinside.com 2019 - 2024. All rights reserved.