【发布时间】:2013-12-19 15:50:29
【问题描述】:
“打印”似乎在许多编程语言中都有很好的表示,即使在 Fortran (1957) 等较旧的东西中也是如此。为什么 bash (1989) 使用 echo 而不是 print 作为打印到屏幕的功能?
有没有一些有趣的计算机历史故事,或者一些平凡的东西?设计决策是否与 $ man print 向我提供有关 MAILCAP 的信息这一事实有关?
更多研究,echo 似乎已在 1984 年之后在原始 Bourne shell 中引入(作为内置函数):https://en.wikipedia.org/wiki/Bourne_shell 显然,在此之前它存在非内置。
来自 cmets 的更新(通过 Wumpus Q. Wumbley):到目前为止,此线程发现的最早回声参考是 V3 (1972)
【问题讨论】:
-
好吧
echo听起来比print好得多,但这可能不是原来的东西 -
这个问题似乎是题外话,因为它是关于计算机工具的历史和当时做出的任意决定;不是编程问题
-
不可能是因为与mailcap的命名冲突。
echo命令回到 unix 的开头。 bash 不是 1989 年设计的全新语言!它是 unix shell 的一个新实现,它更老。 -
既然我已经用完了事实,这里有一些猜测:如果 unix 是第一个使用名称“echo”的,那是因为 unix shell 是第一个将打印字符串外包给的语言一个外部程序,因为 unix 是第一个说“进程很便宜,让我们大量使用它们”的系统。
-
Unix 很可能使用
echo来打印参数,因为 Multics 确实如此。来自multicians.org/mge.html:echo - 在标准输出上打印其参数的命令。 1967 年 12 月,Multics 在第一阶段里程碑执行的第一个命令。