什么是标准误差?

标准错误(stderr)是一个术语,用于定义进程、脚本、终端、shell等的错误消息的行或文件描述符。简单地说,stderr用于输出有关计算中不同类型操作的错误。通常,Linux、Unix和BSD操作系统使用标准错误。因为标准错误是在POSIX标准中定义的,POSIX标准是应用于Linux、Unix、BSD等的操作系统标准。

RICH STANDARD日本进口日抛美瞳混血小直径彩色隐形眼镜10片装
| 月销量4541件
券后89.9-60=29元
原价¥169

淘口令:

¥LJ4wXGipXyI¥
 

为什么使用标准误差(stderr)?

标准误差(stderr)很有用,可以用于以下不同的情况。

  • 获取详细的错误信息
  • 保存脚本的错误以供以后查看
  • 存储日志和日志文件的错误
  • 显示交互式监控系统中的错误

Linux Bash标准错误(stderr)

linuxbashshell提供了stderr来重定向shell和命令错误。它可以用来在文件中存储错误消息。stderr用2表示bash,可以使用>符号重定向此错误。

首先,我们需要运行一个会产生错误的命令。例如,我们将使用find命令并搜索文件名“*wisetut*”,它将生成如下错误 权限被拒绝 “.

$ find / -iname '*wisetut*'

stderr输出如下所示。默认情况下,stderr将打印到当前shell。

find: ‘/snap/core18/1932/etc/ssl/private’: Permission deniedfind: ‘/snap/core18/1932/root’: Permission deniedfind: ‘/snap/core18/1932/var/cache/ldconfig’: Permission deniedfind: ‘/snap/core18/1932/var/lib/private’: Permission deniedfind: ‘/snap/core18/1885/etc/ssl/private’: Permission deniedfind: ‘/snap/core18/1885/root’: Permission deniedfind: ‘/snap/core18/1885/var/cache/ldconfig’: Permission deniedfind: ‘/snap/core18/1885/var/lib/private’: Permission deniedfind: ‘/snap/core18/1885/var/lib/snapd/void’: Permission denied

我们将使用 2> 为了将stderr重定向到一个名为 错误.txt . 这将防止stderr错误显示在bash上。因此,所有stderr生成的错误都将写入名为errors.txt的文件中。

$ find / -iname '*wisetut*' 2> errors.txt

或者,可以将错误重定向到null。这意味着所有生成的错误或stderr将被重定向到设备中 /偏差/空 这没什么。

$ find / -iname '*wisetut*' 2> /dev/null
© 版权声明
THE END
喜欢就支持一下吧,技术咨询可以联系QQ407933975
点赞0
分享