如何在 Bash 中将 Stderr 重定向到 Stdout

介绍

将命令的结果发送到文件或其他命令时,您可能会看到屏幕上显示错误消息通知。

在 Bash 和其他 Linux shell 中,有 3 个标准 I/O 流。 每个流都有不同的数字 ID:

0 – 标准输入:输入流。

1-标准输出:输出流。

2 – stderr:错误流。

本文将向您展示如何在 Bash 中将 stderr 重定向到 stdout,如下所示。

重定向输出

重定向是预先知道一个程序的输出并将命令的结果发送到文件或另一个命令的方法。

语法:

$ command n> file

n:流的数字 id

如果命令没有 n,则默认值为 1-stdout。

例如,我想将 ls 的输出发送到 ls.txt 文件:

$ ls > ls.txt

然后我使用 cat 命令检查输出:

$ cat ls.txt

输出:

我们可以将 1-stdout 与 2-stderr 结合起来:

$ command 1> file 2> file

例如:

$ ls /home 1> stdout.txt cat big.txt 2> stderr.txt

使用 cat 命令检查:

$ cat stdout.txt

输出: