📜  从 echo 重定向 stderr (1)

📅  最后修改于: 2023-12-03 14:49:17.282000             🧑  作者: Mango

从 echo 重定向 stderr

当我们在执行 shell 命令时,可能会遇到需要将标准错误输出到文件的情况。在这种情况下,我们可以使用 echo 命令将错误消息输出到标准错误流中,然后将标准错误流重定向到文件中。

语法
command 2> file.txt

将标准错误流重定向到 file.txt 中。如果文件不存在,则会创建它;否则,将覆盖原有内容。

示例

下面是一个简单的例子,演示了如何使用 echo 命令将错误消息输出到标准错误流,并将其重定向到文件中。

#!/bin/bash

num=10
if [ $num -gt 5 ]
then
    echo "num is greater than 5" >&2  # 将错误消息输出到标准错误流中
else
    echo "num is less than or equal to 5"
fi > out.txt 2>&1  # 将标准输出和标准错误流重定向到 out.txt 中

echo "Done."

运行上面的脚本后,我们可以得到以下输出:

Done.

此时,我们可以打开 out.txt 文件,查看执行过程中的错误消息。

结论

重定向标准错误流需要将标准错误输出到标准错误流中,并将标准错误流重定向到文件中。这可以通过将错误消息输出到标准错误流中并使用 2> 符号来实现。