由于某种原因,输出总是被打印到终端,无论我是通过2>或>还是重定向它.有办法解决这个问题吗?为什么会这样?
Sin*_*ion 117
添加-s(静音)选项以删除进度表,然后将stderr重定向到stdout以获取与响应正文相同的fd上的详细输出
curl -vs google.com 2>&1 | less
Run Code Online (Sandbox Code Playgroud)
小智 108
您的URL可能包含&符号.我也有这个问题,并且我意识到我的URL充满了&符号(来自传递的CGI变量),因此所有内容都以奇怪的方式发送到后台,因此无法正确重定向.如果您在URL周围加上引号,它将修复它.
Ami*_*ler 24
上面的答案对我不起作用,最终这个语法是什么:
curl https://${URL} &> /dev/stdout | tee -a ${LOG}
tee将输出放在屏幕上,但也将其附加到我的日志中.
小智 10
只是我的2分钱。正如前面所回答的,下面的命令应该可以解决问题
curl -vs google.com 2>&1
Run Code Online (Sandbox Code Playgroud)
但是,如果需要将输出输出到文件中,
curl -vs google.com > out.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
应该管用。
如果您需要文件中的输出,则可以使用重定向:
curl https://vi.stackexchange.com/ -vs >curl-output.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
请确保不要翻转>curl-output.txtand 2>&1,由于bash的重定向行为,它不会起作用。
| 归档时间: |
|
| 查看次数: |
165385 次 |
| 最近记录: |