所以我有一个curl
通过管道连接到 agrep
和 a 的sed
。我会在哪里申请>/dev/null 2>&1
?
curl www.site.com | grep stuff | sed "other stuff"
Run Code Online (Sandbox Code Playgroud)
在最后还是在卷曲之后?
请更具体地说明命令的目的是什么。我猜你想用
curl -s www.site.com
Run Code Online (Sandbox Code Playgroud)
以防止进度指示和其他东西。-s 将执行相同的操作,但默默地
如果您绝对必须使用 >/dev/null 2>&1 我想我会将 curl 输出重定向到文件
curl www.site.com -o file.txt >/dev/null 2>&1
cat file.txt | grep stuff | sed "other stuff"
Run Code Online (Sandbox Code Playgroud)
刚刚解释得更近一点:>/dev/null
将 SDTOUT(标准输出)重定向到“黑洞”,2>&1
并将 STDERR(标准错误输出)附加到 STDOUT,因此它也进入 Nirvana。这没有什么可显示的:正常输出和错误都消失了。所以,你可能什么也想可能是
curl -s www.site.com 2>/dev/null | grep stuff | sed "other stuff"
Run Code Online (Sandbox Code Playgroud)
即不重定向 STDOUT,只是抑制 STDERR 并告诉 curl 只显示指定的内容,然后将其传送到 grep,最后传送到 sed。
注意不要在“2>”之间引入空格,否则 2 宁愿被解释为 curl 的附加参数;)