로그 컬 출력

로그 컬 출력

내 컬 출력을 다음과 같이 기록하려고 합니다. (10초마다 무작위로 생성됨)

<RTW>
<RESULT>{ "Result": { "something1": 707,  "something2": { "array": ["95", "51", "65", "33", "95", "109", "87", "37", "49", "86"] } } }</RESULT>
<DISTRICT>{"0000":"City"}</DISTRICT>
</RTW>

내 명령은 다음과 같습니다sh /path/to/script.sh 2>&1 | tee /path/to/logfile.txt

문제는 원시 출력을 기록하는 대신 일부 다운로드 통계를 기록한다는 것입니다(실행 중인 터미널 창에도 표시됨). 다운로드 통계에서 추적되는 사항은 다음과 같습니다.

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100   249    0   204  100    45    125     27  0:00:01  0:00:01 --:--:--   125
100   249    0   204  100    45     77     17  0:00:02  0:00:02 --:--:--    77

등..

컬(stdout이라고 가정)에서 어떻게 로그인하나요? 2>&1섹션 등의 숫자를 변경해 보았습니다 .

스크립트의 내 컬 명령은 다음과 같습니다. curl -k --data "objectID=ID&username=username&password=passwd" url -H "Header"

답변1

자동으로 진행되지 않는 통계 에 대해 ( ) 옵션을 사용할 수 있습니다 curl(오류 메시지가 표시됨).-s--silent

curl -s ...

에서 man curl:

-s, --침묵

무음 또는 조용한 모드. 진행률 표시기나 오류 메시지가 표시되지 않습니다. 음소거 컬. 리디렉션하지 않는 한 요청한 데이터를 터미널/표준 출력으로 계속 출력합니다.

답변2

| logger컬 명령 끝에 추가되었습니다 .

답변3

컬의 출력을 얻는 방법은 해당 -s플래그를 사용하고 컬의 출력을 변수에 할당하는 것입니다.

제공한 예제를 사용하여 다음과 같이 수정합니다.

RES="$(curl -k --data "objectID=ID&username=username&password=passwd" url -H "Header")"

#print the result

echo "$RES"

관련 정보