我有一个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脚本中。非常感谢任何帮助。
谢谢!
答案 0 :(得分:0)
经过多次googeling后我找到了答案...感谢帖子写在这里: https://blogs.oracle.com/vaibhav/not-as-easy-as-we-thought-powershell-from-java-runtime
基本上,您必须使用'println process.exitValue()'
并打印退出代码。
请注意,process
这个词是特定于此解决方案的。