Я использовал приведенную ниже команду, и она получит некоторую подстроку в значении атрибута.
skipped=$(echo "$value" | jq -f '.[].output | scan("totalSkipped+: [[:digit:]]+")' | sed 's/"//g' )
Я запустил этот скрипт в оболочке через задание Jenkins. и наблюдаемое ниже сообщение об ошибке:
/tmp/jenkins7615126817764256878.sh: command substitution: line 30: syntax error near unexpected token `"totalSkipped+: [[:digit:]]+"'
/tmp/jenkins7615126817764256878.sh: command substitution: line 30: `echo "$value" | jq .[].output | scan("totalSkipped+: [[:digit:]]+") | sed 's/"//g' )'
У меня есть весь файл json, который хранится в переменной $ value, и echo "$ value" вернул содержимое файла json, но не уверен, почему он не работает в jenkins.
Я использовал ту же команду в онлайн-инструменте jq, но она работает, как и ожидалось.
https://jqplay.org/s/7lBj_kDoB3
Я использую версию jq-1.6.
Может ли кто-нибудь помочь мне решить эту проблему?