jq: error: syntax error, unexpected INVALID_CHARACTER (Unix shell quoting issues?) at <top-level>

jq: error: syntax error, unexpected INVALID_CHARACTER (Unix shell quoting issues?) at <top-level>

我正在关注此 link 以将数据从 mysql 流式传输到我的 ubuntu 机器中的 kafka 主题。在那里,在 Kafka Connect setup 主题,当我 运行 检查我的连接器是否 运行 这个(按照那里的建议)时:

curl -s "http://localhost:8083/connectors" | jq '.[]' | xargs -I mysql-connector curl -s "http://localhost:8083/connectors/mysql-connector/status" | jq -c -M '[.name,.connector.state,.tasks[].state] | \
join(":|:")'| column -s : -t| sed 's/\"//g'| sort

我收到这个错误:

jq: error: syntax error, unexpected INVALID_CHARACTER (Unix shell quoting issues?) at , line 1: [.name,.connector.state,.tasks[].state] | \
jq: 1 compile error (23) Failed writing body (23) Failed writing body

我完全卡住了。如果可能,请任何人提供帮助。
N.B.: 这不是重复的问题,虽然标题相似的问题存在,但问题不同,我已经仔细检查过了。

你在辱骂 \。使用:

curl -s "http://localhost:8083/connectors" | 
jq '.[]' |
xargs -I mysql-connector curl -s "http://localhost:8083/connectors/mysql-connector/status" |
jq -c -M '[.name,.connector.state,.tasks[].state] |
join(":|:")' |
column -s : -t |
tr -d \" |
sort

jq 全部放在一行中可能更简洁,但关键是如果您尝试在单引号内转义换行符,您最终会在 [= 中得到一个文字反斜杠12=] 不属于那里的命令。