在Unix和类Unix操作系统中,可以使用管道(|)将一个命令的标准输出(STDOUT)传递给另一个命令的标准输入(STDIN)。然而,如果想要将标准输出和标准错误(STDERR)捕获为单独的参数,可以使用以下命令来实现:
command 2>&1 | command2
这个命令首先将标准错误重定向到标准输出,然后再使用管道将重定向后的标准输出传递给下一个命令。
解释一下这个命令的每个部分:
command
: 代表要执行的命令,可以是任意的Unix命令。2>&1
: 将标准错误(文件描述符2)重定向到标准输出(文件描述符1)。>
符号表示重定向,&
符号表示将文件描述符重定向而不是文件。|
: 管道符号,将前一个命令的标准输出传递给后一个命令的标准输入。command2
: 下一个要执行的命令。这样,通过将标准错误重定向为标准输出,就可以将它们一起通过管道传递给下一个命令。
这个技巧在调试和处理命令输出时非常有用,可以方便地将错误信息与正常输出分开处理。
云+社区技术沙龙[第14期]
Elastic 实战工作坊
Elastic 实战工作坊
云+社区技术沙龙[第7期]
云+社区技术沙龙[第27期]
云+社区开发者大会 长沙站
云+社区技术沙龙[第17期]
云+社区技术沙龙[第11期]
云+社区技术沙龙[第21期]
云+社区技术沙龙 [第30期]
领取专属 10元无门槛券
手把手带您无忧上云