迹忆客 专注技术分享

当前位置:主页 > 学无止境 > 操作系统 >

在 Bash 中回显到 stderr

作者:迹忆客 最近更新:2023/06/10 浏览次数:

内置 Bash 脚本的默认错误消息变量称为 stderr。 它也称为标准错误,是错误的默认输出设备。

有时我们必须将错误重定向到输出通道。 Linux 环境识别每个文件对象及其描述,称为 FD。

它是一个正整数值,标识打开的文件会话。 对于 stderr,文件描述符的值为 2。

本文将了解 stderr 及其功能。 此外,我们将查看一些示例,这些示例将使该主题更容易理解。


在 Bash 中回显到 stderr

命令 stderr 主要用于在执行任何命令期间保持错误的重新编码。 该命令的一般语法是:

Your command here 2>error.log

在上面共享的示例语法中,您可以找到一个符号 2> 和一个名为 error.log 的文件。 现在2>表示FILE DESCRIPTOR的值,代表stderr的身份。

在我们的例子中,FILE DESCRIPTOR 的值为 2。现在我们提供的文件名是针对命令执行期间生成的日志文件的。

您还可以按照以下语法格式回显 stderr 消息。

Your command here >&2 echo "error"

让我们看一个例子来简化主题。 假设我们已经创建了一个错误命令并且想要回显输出错误信息。

现在我们的示例代码将如下所示:

echo $( 3 + 2 )) >&2 echo "error"

在上面共享的代码中,我们故意犯了一个错误以了解其工作原理。 我们在这里删除了其中一个括号,因此这可能是一个错误。

之后,我们用回显显示该错误。 运行上面的代码后会显示如下所示的输出。

./example.sh: line 1: syntax error near unexpected token `)'
./example.sh: line 1: `echo $( 3 + 2 )) >&2 echo "error" '

现在我们更正如下代码并再次运行命令。

echo $(( 3 + 2 )) >&2 "No error has been found."

运行代码后,您将获得如下所示的输出。

5 No error has been found.

本文中使用的所有代码都是用 Bash 编写的。 它只会在 Linux Shell 环境中工作。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便