Используйте jq для разбора json:
$ cat input
[
{
"createdAt": "2017-12-08T11:07:15.000Z",
"email": "vxxx.sxxx@domain.com",
"gravatarUrl": "https://gravatar.com/avatar/13656",
"id": 937,
"updatedAt": "2017-12-08T11:07:15.000Z",
"username": "339cba4c-d90c-11e7-bc18-005056ba0d15"
}
]
$ jq -r '.[] | (.email,.id)' input
vxxx.sxxx@domain.com
937
$ read email id << EOF
> $(jq -r '.[] | (.email,.id)' input | tr \\n ' ')
> EOF
$ echo $email
vxxx.sxxx@domain.com
$ echo $id
937
Чтобы проверить, был ли адрес электронной почты действительным, вы можете сделать что-то вроде:
echo "${email:?}"
или
test -z "$email" && exit 1