📜  标准错误 bash - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:40:26.859000             🧑  作者: Mango

标准错误 bash - Shell-Bash

在 Bash 和其他 Shell 编程语言中,我们经常需要查看程序的输出。通常情况下,我们可以使用标准输出 stdout 进行输出。但是,有时候,如果代码出现了错误,我们需要使用标准错误 stderr 将错误信息输出到终端上,以便我们及时修复代码问题。

标准错误的定义

在 Linux 系统中,标准错误 stderr 是输出设备的一种,用于输出程序执行时发生的错误信息。标准错误通常不会被重定向到文件中,而是直接输出到终端上,方便使用者及时查看错误信息。

标准错误与标准输出的区别

标准输出和标准错误都是用来输出程序的信息的,二者之间有什么区别呢?

输出到不同的设备

标准输出 stdout 默认输出到终端上,而标准错误 stderr 也默认输出到终端上,但是它们输出到的设备是不同的。

不同的输出颜色

在终端上,标准输出一般是以黑色文本输出,而标准错误则是以红色或黄色文本输出,以区别于标准输出,方便用户查看。

区分输出内容

标准输出主要用于输出程序的结果等正常信息,而标准错误用于输出程序执行时发生的错误信息,如程序崩溃、文件不存在、权限不足等信息。

如何查看标准错误输出信息

通常情况下,我们使用以下命令来查看标准错误输出信息:

./my_script 2> error.log

这条命令可以将 ./my_script 脚本的标准错误信息输出到 error.log 文件中。当然,也可以将标准错误信息输出到终端上,使用以下命令:

./my_script 2>&1

上述命令中的 2 表示标准错误输出设备,& 表示将 21 合并,表示将标准错误信息输出到标准输出设备上。

结论

标准错误 stderr 是一种用于输出程序错误信息的设备,通常不会被重定向到文件中,而是直接输出到终端上。在 Shell 编程语言中,通过特定的命令可以将标准错误信息输出到文件中,方便我们查看、分析和修复代码问题。