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