【问题标题】:Fastlane & Powershell two factor authenticationFastlane 和 Powershell 两因素身份验证
【发布时间】:2020-05-16 08:02:32
【问题描述】:

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

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

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

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

【问题讨论】:

  • 我不确定从给出的详细信息中这是失败的地方。 $env:my 变量是空的还是循环中的 $env:FASTLANE_SESSION 是空的?
  • 谢谢,FASTLANE_SESSION 是空的

标签: powershell fastlane


【解决方案1】:

如果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;

【讨论】:

  • @ChrisG。 - 更新了答案。
猜你喜欢
  • 2020-12-09
  • 2016-06-06
  • 2016-02-21
  • 2019-07-21
  • 1970-01-01
  • 1970-01-01
  • 2012-11-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多