PP.*_*PP. 27 linux unix redirect pipe
我不清楚的最佳顺序是同时捕获什么STDERR,并STDOUT使用相同的文件tee。我知道如果我想通过管道传输到文件,我必须在重定向后映射文件句柄,即
find . >/tmp/output.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
这指示外壳发送STDOUT到/tmp/output.txt然后发送STDERR到STDOUT(现在正在发送到/tmp/output.txt)。
尝试2>&1在重定向文件之前执行不会有预期的效果。
但是,当我想管道使用时,tee应该是:
find . |tee /tmp/output.txt 2>&1 # or
find . 2>&1 |tee /tmp/output.txt # ?
Run Code Online (Sandbox Code Playgroud)
Mad*_*ter 30
后者; 它确保原始命令的 STDOUT 和 STDERR 进入同一个 fd,然后将它们一起送入 tee。在前一种情况下,您要加入其 STDOUT 的是 tee 命令的 STDERR。
| 归档时间: |
|
| 查看次数: |
24879 次 |
| 最近记录: |