I am struggling to loop over an array from jq in a shell script. Every stackoverflow article that I have found does not work.
Given the following:
#!/bin/shjson='{"members":[{"id":"member1"},{"id":"member2"}]}'echo "Attempt #1..."echo "$json" | jq -rc '.members[].id' | while IFS='' read -r id; do echo "foo" echo "ID: '$id'" echo "bar"doneecho "Attempt #2..."echo "$json" | jq -r '.members[].id' | while IFS='' read -r id; do echo "foo" echo "ID: '$id'" echo "bar"doneecho "Attempt #3..."echo "$json" | jq -r '.members[].id' | while read -r id; do echo "foo" echo "ID: '$id'" echo "bar"done
I get the following results:
$ ./test.sh Attempt #1... foo 'D: 'member1 bar foo 'D: 'member2 bar Attempt #2... foo 'D: 'member1 bar foo 'D: 'member2 bar Attempt #3... foo 'D: 'member1 bar foo 'D: 'member2 bar
Also, I need a POSIX solution and not bash.
Thanks.