我正在尝试将curl响应的标准错误头存储在一个变量中,并将正文(来自标准输出)传输到grep。
这是我目前的尝试:
当我使用
正文按预期被管道传递。
这是我目前的尝试:
{
HEADERS=$(curl -vs $URL 2>&1 1>&3-)
echo "$HEADERS"
} 3>&1 | grep "regex" >> filename
echo "$HEADERS"
当我使用
bash -x script.sh
运行脚本时,我能看到预期输出的+ HEADERS='...'
,但是无论是内联组内部还是外部,我都无法通过$HEADERS
或"$HEADERS"
访问它们。正文按预期被管道传递。
grep
的输出在终端上还是其他地方? - anishsanecurl -vs -$URL 2>&1 1>&3-
翻译成中文为:curl -vs $URL 2>&1 1>&3-
。 - han058grep
的输出应该被附加到filename
。这部分是有效的。 - André Rüdigergrep
处理来自 stdout 的正文。 - André Rüdiger