gpt4 book ai didi

shell - 如何在 Groovy 中执行 shell 命令并获取返回码 $?

转载 作者:行者123 更新时间:2023-12-04 16:17:06 25 4
gpt4 key购买 nike

我无法通过在 Groovy 中执行 shell 脚本获得返回码(不是输出或错误)。

对于我尝试过的所有操作,它要么要求我转义,要么只打印 $?而不是给我 1 或 0。

groovy: 75: 美元符号后的非法字符串主体字符; 解决方案:要么转义文字美元符号“\$5”,要么将值表达式“${5}”括起来@第 75 行,第 24 列。

以下是我尝试过的解决方案,都不起作用。

println "../src/check_job_log.s ${it}.log".execute().text
println "Check log ${it}.log completed"

//assert ("echo \$?".execute().text == "1")
//output = """echo $?""".execute().text
println(['echo', '$?'].execute().text)

// below is code for @that other guy
//def process = "echo hello world".execute()
def process = "../src/check_job_log.s ${it}.log".execute()
print "Output: " + process.text
print "Exit code: " + process.exitValue()

Output: Exit code: 01

最佳答案

使用 Process.exitValue() 代替(或补充).text:

def process = "echo hello world".execute()
print "Output: " + process.text
print "Exit code: " + process.exitValue()

关于shell - 如何在 Groovy 中执行 shell 命令并获取返回码 $?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55655206/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com