jq '.issues[].fields.subtasks[].fields | .issuetype.subtask' 1.json
работает как ожидалось (получая "true" в качестве вывода) при попытке поместить команду выше как переменную
for custom_field in `cat 1.json | jq .issues[].fields.subtasks[].fields | .issuetype.subtask`; do
echo $customfield
done
получение :.
issuetype.subtask: command not found
Попробуй это :
for custom_field in $(
jq '.issues[].fields.subtasks[].fields | .issuetype.subtask' 1.json
); do
echo "$customfield"
done
Или лучше с пока цикл если у вас есть значения с пробелами:
while IFS= read -r customfield; do
echo "$customfield"
done < <(jq '.issues[].fields.subtasks[].fields | .issuetype.subtask' 1.json)
cat
< <( )
это функция только для bash, недоступная в других оболочках (или даже в bash, когда она вызывается как sh). Итак, начните свой скрипт с bash shebang #!/bin/bash
или #!/usr/bin/env bash
и не отменяйте это, запуская сценарий с sh
команда