日志卷曲输出

日志卷曲输出

我正在尝试记录我的卷曲输出,如下所示:(每 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

等等..

我如何从卷曲中记录(我认为是标准输出)?我尝试过更改该2>&1部分中的数字等。

我在脚本中的curl命令如下: curl -k --data "objectID=ID&username=username&password=passwd" url -H "Header"

答案1

您可以使用( ) 选项进行curl静默、无进度统计(并且将显示错误消息) :-s--silent

curl -s ...

man curl

-s,--沉默

静音或安静模式。不显示进度表或错误消息。让 Curl 静音。它仍然会输出您要求的数据,甚至可能输出到终端/标准输出,除非您重定向它。

答案2

添加| logger到curl命令的末尾。

答案3

对我来说获得curl输出的方法是使用该-s标志并将curl的输出分配给一个变量。

使用您提供的示例,修改如下:

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

#print the result

echo "$RES"

相关内容