我试图从curl中获取JSON结果,并将特定JSON对象的每个结果设置为单独的变量。
在我的脚本中使用以下行来检索结果: PROFILE = $(curl --user admin:admin -k -X GET https://192.168.1.1:8000/rest/call/profiles.json | jq' [.profile [] .id]')
使用上面的行我的结果可能看起来像这样(但我可以返回1到多行):
[ "我的资料&#34 ;, " myprofile1&#34 ;, " myprofile2&#34 ;, " myprofile3" ]
接下来,尝试确定设置返回到唯一变量的每个id的最佳路径,以便稍后在脚本中使用。 .id可以返回1到30个结果,所以我假设执行while循环并且需要使用split命令吗?
非常感谢任何帮助,提前谢谢!
答案 0 :(得分:0)
我不完全确定你在问什么,但也许这会有所帮助:
echo '[ "myprofile", "myprofile1", "myprofile2", "myprofile3" ]' |
grep -o '"[^"]\+"' | tr -d '"' | while read x; do
echo $x
# do your thing
done
输出:
myprofile
myprofile1
myprofile2
myprofile3