UNIX $(美元)提示的起源是什么?

Max*_*ell 93 unix shell history prompt

UNIX 提示符使用一个$符号来指示您的输入是预期的。

我想知道为什么选择这个符号——如果有什么原因的话。美元似乎有点出乎意料。>在我看来,一个符号会更具暗示性。

A D*_*arf 63

让我们来探索一下:

  • 版本 8 Unix很容易。仍然有可用的手册页。进入 sh 手册页并搜索提示。您将阅读以下内容:

    PS1 主要提示字符串,默认为“$”。

    PS2 辅助提示字符串,默认为“>”。

  • 所以让我们看看这是不是第一个。 第7版的Unix手册页仍然可用,并且sh手册页 给出提示的相同的描述版本8。

  • 版本6呢?第 6 版 Unix 并不难追踪。但它的sh 手册页根本没有提到提示。“入门”指南 在这里派上用场;它提到

    您登录工作的高潮是一个百分号“%”。百分号表示 UNIX 已准备好接受来自终端的命令。

啊哈!所以版本6没有它。第 7 版是第一个!1979 年发行。

快乐的?讨厌在你的游行中下雨,但不要这样:)

问题是第 6 版是一个鼓舞人心的 Unix。看看这里的变体。难道作为命令提示符的 $ 符号不是在第 7 版中启动的,而是在这些变体之一中启动的,然后将这个想法合并到第 7 版中?

在这一点上,我已经厌倦了从 6 岁开始寻找操作系统文档。这至少大大缩小了范围。我们知道第 7 版是贝尔实验室第一个将 $ 符号显示为命令提示符的版本。我们需要确定的是,第 6 版的所有变体都没有引入它。这一更改出现在第 7 版中是有道理的,因为该版本引入了 Bourne shell,取代了以前版本 Unix 中使用的 Thompson shell(以及Programmer's Workbench Unix 中使用的Massey shell)。

不过最后一个想法是:
虽然 $ 作为 shell 或 script 一词的提示很吸引人,而且很有道理,但不要指望这会得到官方证实。Unix 开发由相当多的人共享,他们在生活中关注的问题比跟踪符号如何演变要大得多。其中一些非凡的程序员甚至已经不在我们中间了。

最有可能的是,您希望从“UNIX $(美元)提示的起源是什么?”这个问题中得到最好的结果。是第一个介绍它的 Unix shell 的名称。

  • 版本 7 是第一个带有 Bourne shell 的 Unix。它取代了第 6 版中的 Thompson shell。因此,在 shell 提示之间进行划分是有道理的。 (5认同)
  • Bourne 的一个可能灵感来源:[MTS FORTRAN-IV/WATFIV 手册](https://books.google.com/books?id=59NWAAAAMAAJ&pg=SA2-PA76&lpg=SA2-PA76&dq=punched+card+dollar+sign&source =bl&ots=bcFlvL4yoD&sig=5fp9RRtAzPfUzTWGgpXWrXXLojw&hl=en&sa=X&ved=0ahUKEwi-jNXylL_aAhUnjFQKHSKnBkMQ6AEIUTAI#v=onepage&q=punched%20larcard%2sign 描述始终来自“打卡%270-card%2 控制”的输入卡描述“开始...在第 1 列中带有美元符号 ($)。” (3认同)
  • 早在第六版及之前,UNIX 就包含了完整的源代码。所有获得它的大学都倾向于进行本地修改(这就是 BSD 的来源)所以也许滑铁卢大学的一些本地系统程序员认为“shell”提示应该看起来更像蜗牛,并将 % 更改为 @ . 正如你所说,有很多变体,当它们在 v7 中重新整理在一起时,毫无疑问变化的起源已经模糊了。 (2认同)

Mic*_*lon 9

最初的 Bourne shell 提示符是一个蜗牛 shell,“@”。我记得 UNIX 第 6 版上的这一点,我相信那是在 UNIX 商业销售之前。所以切换到 $ 符号可能与 UNIX 的商业化有关,正如罗伯特所说,$hell。

  • Bourne shell 直到第 7 版才存在。 (3认同)
  • 好吧,我们只是称它为“外壳”,所以我真的不知道是谁写的。我确实记得看到海报上记录了所有 shell 命令,它们像蜗牛壳一样呈螺旋状排列或在标志上排列。也许它来自 O'Reilly,但我不能确定。 (2认同)

Rob*_*vey 8

实际上,Linux 中使用 Bourne、Bash 或 Korn shell 的普通用户帐户的标准命令行提示符是美元符号 ($),而根提示符是井号 (#)。相比之下,传统的 C shell 提示符是一个百分号 (%)。

如果我猜的话,$ 让人想起 $hell 这个词,这可能就是选择它的原因。

  • 不要刻薄。从这里发布的其他答案来看,似乎没有人真正确定无论如何。 (8认同)
  • 他问的是真正的起源,而不是人们猜测的。 (4认同)

wfa*_*ulk 7

很遗憾,我无法回答这个问题,但我可以给你一些提示。