jq:错误:语法错误,意外INVALID_CHARACTER(Unix shell引用问题?<top-level>



我正在点击此链接将数据从mysql流式传输到我的ubuntu机器中的kafka主题。 在那里,在Kafka Connect 设置主题,当我运行以检查我的连接器是否正在运行时(如那里建议的那样(:

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:错误:语法错误,意外INVALID_CHARACTER(Unix 外壳 报价问题?在 ,第 1 行: [.name,.connector.state,.tasks[].state] |\
jq: 1 编译错误 (23( 写入正文失败 (23( 写入正文失败

我完全被困住了。如果可能的话,任何人请帮忙。
注意:这不是重复的问题,虽然存在标题相似的问题,但问题是不同的,我已经很好地检查了它们。

你在滥用。用:

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全部放在一行上可能更干净,但关键是,如果您尝试在单引号内转义换行符,则最终会在不属于那里的jq命令中使用文字反斜杠。

最新更新