Я пытаюсь скрыть трассировку стека из следующего скрипта:
def status = "false"
while (status.equals("false")) {
sleep 5
status = sh(
script: "curl -s -H 'Accept: application/json' http://my.ip | jq \'.completed\' ",
returnStdout: true
).trim()
echo "status: ${status}"
}
Выход:
+ curl -s -H 'Accept: application/json' 'http://my.ip'
+ jq .completed
status: true
Если я хочу видеть только выводимое сообщение, я должен написать «set + x» в теле скрипта. Но это приводит к тому, что статус возвращается как NULL.
status = sh(
script:'''
set +x
script: "curl -s -H 'Accept: application/json' http://my.ip | jq \'.completed\'
''',
returnStdout: true
).trim()
Выход:
status: NULL
Почему вывод теряется и есть ли другой способ удалить трассировку стека?