【问题标题】:How to access powershell script's exit code in groovy如何在groovy中访问powershell脚本的退出代码
【发布时间】:2017-05-19 22:57:33
【问题描述】:

我有一个powershell脚本如下:

Write-Output "Hello"
Start-Sleep -s 2
exit 1

我想访问 powershell 脚本在我的 groovy 文件中设置的退出代码。目前我的 groovy 文件如下:

println "Hello World!"

smokeTestELB()

def smokeTestELB(){
    println "before call"

    def powerShellCommand = '.\\power.ps1'
    def shellCommand = "powershell.exe -ExecutionPolicy Bypass -NoLogo -NonInteractive -NoProfile -Command \"${powerShellCommand}\""
    def process = shellCommand.execute()
    process.waitFor()

    println process.outputStream

    println "after call"
}

println "This is after powershell script has executed!"

但是,当我尝试访问和打印 process.outputStream 时,我没有得到预期的退出代码。

我的示例输出如下:

不确定如何将退出代码从 powershell 访问到我的 groovy 脚本中。非常感谢任何帮助。

谢谢!

【问题讨论】:

    标签: powershell groovy


    【解决方案1】:

    我在谷歌搜索后找到了答案......感谢这里写的帖子: https://blogs.oracle.com/vaibhav/not-as-easy-as-we-thought-powershell-from-java-runtime

    基本上,你必须使用'println process.exitValue()',它会打印出退出代码。

    请注意,process 这个词是针对这个解决方案的。

    【讨论】:

    • 链接失效了
    猜你喜欢
    • 2021-08-16
    • 2018-03-21
    • 1970-01-01
    • 1970-01-01
    • 2020-08-12
    • 2015-10-01
    • 2013-08-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多