간단한 명령(일부 Kafka 관련 항목)을 실행하고 있습니다.
curl localhost:8083
출력은 매우 간단합니다.
root@debian:/etc/kafka# curl localhost:8083/
{"version":"0.11.0.0-cp1","commit":"6a8cf706ddc9ab6a"}root@debian:/etc/kafka#
하지만 이제 유틸리티 도구를 사용하여 jq
json 형식을 지정하면 더 많은 줄이 추가됩니다.
root@debian:/etc/kafka# curl localhost:8083/ | jq
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 54 100 54 0 0 1492 0 --:--:-- --:--:-- --:--:-- 1500
{
"version": "0.11.0.0-cp1",
"commit": "6a8cf706ddc9ab6a"
}
예상되는 방식으로 less
파이프 를 연결하는 경우에도 마찬가지입니다 . 따라서 이것은 그 자체와는 아무런 관련이 없습니다 .cat
curl ... | less
jq
모든 stdin, stdout, stderr, 파이프(stdout을 sdtin에 조인한 것임), 파일 리디렉션 > < 2>
등에 대한 나의 지식으로는 이 동작을 설명할 수 없습니다. :(
답변1
많은 UNIX 도구와 마찬가지로 의 출력은 curl
stdout이 연결된 장치 유형에 따라 달라집니다. 이 경우 출력을 파이프로 연결하면 jq
유형이 에서 로 변경되어 TTY
원치 pipe
않는 추가 출력이 발생합니다.
curl
-s
이 추가 출력을 침묵시키는 명령줄 스위치가 있으므로 curl -s localhost:8083/ | jq
shold를 실행하면 문제가 해결됩니다.