【问题标题】:Powershell - Write-Log message is returned with output variablePowershell - 使用输出变量返回写入日志消息
【发布时间】:2012-01-25 16:57:52
【问题描述】:

我已经编写了 powershell 脚本,它从一个函数中填充一个变量(用另一个脚本编写)。问题是,第二个脚本的 Write-Log 输出也随之返回。知道如何解决相同的问题吗??

这是我的代码的 sn-p:

脚本 1

$version = Get-Version -Path $Path

脚本 2

Write-Log -Message ("##teamcity[progressMessage Setting up the default version) -Debug
...
...
...
...
return $Version

现在,问题是从第二个脚本中,我得到以下输出:

$version = #Write-Log -Message ("##teamcity[progressMessage Setting up the default version) 1.0.0.0.0

【问题讨论】:

  • 为什么在第二个脚本写日志被注释 (#)?
  • 我很困惑,您能否尝试更清楚地了解您拥有什么以及您想要获得什么。发布更多实际代码会有所帮助。
  • 抱歉,评论有误。现在编辑代码

标签: powershell build teamcity powershell-2.0


【解决方案1】:

任何产生一些值的语句都是从脚本或函数返回的。所以下面的代码产生2个值:目录信息和字符串'succ'

function test {
    mkdir c:\sotest
    'succ'
}

你甚至不需要打电话给returnreturn 语句很有用,当您只需要返回值并退出函数/脚本时。

在测试示例中,如果不想返回目录信息,可以

mkdir .. | out-null
mkdir .. > $null
[void](mkdir ..)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-29
    • 2018-12-13
    • 1970-01-01
    • 2015-01-01
    相关资源
    最近更新 更多