我有以下shell脚本,该脚本执行带有trace的curl命令。我能够将curl命令的输出(api响应)捕获到日志文件中,但是无法将跟踪日志捕获到日志文件中。请帮忙。
#! /bin/bash
app_header="app_header:test_app"
cmd="curl -ivk —trace GET https://app.corp.com/api/state/1231231?id=21"
echo $cmd >> /log/call_app_service.log
for i in {1..2}
do
echo "Running $i times" >> /log/call_app_service.log
$cmd -H $app_header >> /log/call_app_service.log
echo "\n" >> /log/call_app_service.log
sleep 1
done
答案 0 :(得分:4)
我能够将curl命令的输出(api响应)捕获到日志文件中,但是无法将跟踪日志捕获到日志文件中。
您要捕获的输出来自stdout
。您缺少的输出来自stderr
,而该输出仍将发送到终端而不是文件。
您可以将标准错误(fd 2)重定向到标准输出(fd 1)
$cmd -H $app_header >> /log/call_app_service.log 2>&1