【发布时间】:2018-01-03 17:48:21
【问题描述】:
我们正在尝试让jqv1.5 64bit 解析一个数组,然后回显结果。
我们有正确的jq 语法吗?
#!/bin/bash
declare -a nameArr
nameArr=("Leia" "Darth Vader" "Anakin" "Han Solo" "Yoda")
jq -c -n "$nameArr"
报错
jq: error: syntax error, unexpected $end (Unix shell quoting issues?) at <top-level>, line 1:
Leia,
jq: 1 compile error
【问题讨论】:
-
你的输出应该是什么样子的?
-
注意,顺便说一句,
jq -c -n "$nameArr"仅传递数组的第一个元素,因此它使用您的原始输入运行jq -c -n "Leia,"。没有一个很好的方法来传递一个 shell 数组(它可以包含任何有效的 C 字符串列表)在单个 C 字符串中。 -
@CharlesDuffy,逗号是对的。在创建问题时,我确实将其添加为错字。感谢您的捕获,我已更新为实际数组