Тщательно сверяйте свой сценарий с тем, который вы опубликовали в вопросе.Если они совпадают, тогда ответ очень прост.
В строке, которую вы передаете jq
, нет "total" : 126
, потому что вы передаете ей вывод echo rulebase_list
, то есть rulebase_list
.
Что вы, вероятно, хотели, чтобы отправить jq
содержимое файла rulebase_list
и инструмент для этого cat
:
n_rules=$(cat rulebase_list | jq '.total')
В качестве альтернативы (и быстрее) является перенаправлениеввод jq
из файла:
n_rules=$(jq '.total' < rulebase_list)
Или указать имя входного файла в качестве последнего аргумента в командной строке jq
:
n_rules=$(jq '.total' rulebase_list)
Подробнее оjq
: https://stedolan.github.io/jq/manual/