Fastlane 和 Powershell 双因素身份验证

Fastlane & Powershell two factor authentication

运行 Powershell 中的 fastlane 并尝试获取由 fastlane.

设置的环境变量

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

fastlane spaceauth -u user@domain.com 2>&1 | ForEach-Object {
    Write-Host $env:FASTLANE_SESSION
    return $_
  }

有解决这个问题的想法吗?

如果 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@adomain.com 2>&1 | 
    where { $_ -match '\S+' } | 
    select -Last 1;