AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 461267
Accepted
sourcejedi
sourcejedi
Asked: 2018-08-09 03:41:56 +0800 CST2018-08-09 03:41:56 +0800 CST 2018-08-09 03:41:56 +0800 CST

添加与“标准输出”不同的“标准错误”的最初原因是什么?

  • 772

Unix 提供标准输出和标准错误,可以独立重定向。

$ ls /not-exist
ls: cannot access '/not-exist': No such file or directory

$ ls /not-exist > redirect.out
ls: cannot access '/not-exist': No such file or directory

$ ls /not-exist 2> redirect.err
$

我听说 Web 上某处有一个故事,这给出了实施这种分离的有趣原因。它涉及早期 Unix 用于(和 Unix 管道,我认为)的计算机化排版。我现在没找到。

有人愿意在此处链接该故事,将其与相关标签相关联并使其更容易找到吗?

stdout stderr
  • 2 2 个回答
  • 198 Views

2 个回答

  • Voted
  1. Best Answer
    JdeBP
    2018-08-09T05:01:18+08:002018-08-09T05:01:18+08:00

    有史蒂夫 C.约翰逊 2013 年对此的描述,作为用户,用户抱怨照片排版和 - 瞧!— 两天后问题得到解决。但道格拉斯麦克罗伊在四分之一个世纪前讲述的故事略有不同。

    在 McIlroy 的版本中,标准错误是 Ken Thompson 著名的通宵介绍 Unix 命令管道的自然结果。在管道之前的 Unix 世界中,错误将被发送到标准输出被重定向到的文件的事实是“麻烦的”。但是在引入管道之后,这种行为“在将输出发送到毫无戒心的进程时变得无法容忍”。麦克罗伊回忆说丹尼斯·里奇在第六版之后“不久”引入了标准错误机制最终纠正了这个问题。

    此外,麦克罗伊当然已经在 Unix 中研究管道的想法很长一段时间了,到目前为止,包括至少 2 年期间的一些提议;比那早了五年发明了花园软管的比喻。与管道流不同的单独流的概念并没有在短短几天内神奇地从无到有出现。

    进一步阅读

    • 史蒂夫 C.约翰逊 (2013-12-11)。 图形系统 C/A/T 照排机。TUHS 邮件列表。Unix 遗产协会。
    • M 道格拉斯·麦克罗伊 (1987)。A Research UNIX Reader: Annotated Excerpts from the Programmer's Manual, 1971–1986。AT&T 贝尔实验室计算科学技术报告 #139。页。9.(存档)
    • “ ‘我会做的,’所以他做到了”。UNIX 操作系统的创建。
    • 7
  2. sourcejedi
    2018-08-09T04:12:38+08:002018-08-09T04:12:38+08:00

    在这种情况下,“网络上的某处”是指“在有关此主题的 Wikipedia 文章中”。– JdeBP

    在几次浪费的照片排版运行以排版而不是显示在用户终端上的错误消息结束后,标准错误被添加到 Unix。–维基百科

    维基百科摘录来源:https ://minnie.tuhs.org/pipermail/tuhs/2013-December/006113.html

    • 1

相关问题

  • 如何转换为大写的标准错误输出而不是标准输出?

  • 如何将 airodump-ng 的输出保存到文件中?

  • 从现在开始的某个时间做某事(也许还会在控制台中显示结果)

  • 在后台回显某些内容,但即使您重新启动或停电也能看到它?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    ssh 无法协商:“找不到匹配的密码”,正在拒绝 cbc

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    如何卸载内核模块“nvidia-drm”?

    • 13 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Wong Jia Hau ssh-add 返回:“连接代理时出错:没有这样的文件或目录” 2018-08-24 23:28:13 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST
  • Martin Hope
    Bagas Sanjaya 为什么 Linux 使用 LF 作为换行符? 2017-12-20 05:48:21 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve