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


83

UNIX提示符使用$符号来指示您期望输入。

我想知道为什么选择这个符号(如果有原因)。美元似乎有点出乎意料。一个>符号会一直在我看来,更提示。


3
我认为,尽管与编程无关,但与计算机无关,因此超级用户更好。
乔伊,

我也想知道答案。我会在SU上寻找它。
加布里埃尔·赫尔利

24
它是Bourne shell提示符,而不是Unix提示符。默认的csh提示符是%。
wfaulk

1
wfaulk,希望我能对您的评论多于一次。
Richie Marquez

18
€还不存在……
mouviciel

Answers:


59

让我们探讨一下:

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

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

    PS2次要提示字符串,默认为“>”。

  • 因此,让我们看看是否是第一个。 版本7 Unix手册页仍然可用,并且sh手册页 对提示的描述与版本8相同。

  • 那第6版呢?版本6 Unix 并不难追踪。但是它的sh 手册页根本没有提到提示。 此处提供了“入门”指南;它提到

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

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

快乐?不想下雨游行,但不要:)

问题在于版本6是一个启发性的Unix。在这里查看变体。可能不是$符号作为命令提示符不是在版本7中启动的,而是在这些变体之一中启动的,然后将该想法合并到了7中?

此时,我从6岁起就厌倦了寻找操作系统文档的工作。这至少可以将其范围缩小。我们知道版本7是Bell Labs的第一个发布$符号作为命令提示符的版本。我们需要确定的是所有这些Version 6变体都没有引入它。尽管该更改引入了Bourne外壳,取代了早期Unix版本中使用的Thompson外壳(以及Programmer's Workbench Unix中使用的Massey外壳),但在版本7中出现了这一更改是有意义的。

不过,最后一个想法是:
尽管$暗示shell或脚本这个词很吸引人并且很有意义,但是不要指望这一点能得到正式确认。Unix开发是由相当多的人共享的,他们对生活的关注远大于跟踪符号的演变方式。而且其中一些非凡的程序员甚至不在我们中间。

您很可能希望从“ UNIX $(美元)提示的来源是什么?”这一问题中得到最好的帮助。是第一个引入它的Unix shell的名称。


4
版本7是第一个使用Bourne shell的Unix。它取代了版本6中的Thompson shell。因此,在shell提示之间进行描述很有意义。
wfaulk

1
对。我们几乎可以将其追溯到Bourne Shell。至于作者,毫无疑问。但是和其他人一样,他还是贝尔实验室的一名员工。
矮人

1
另外,手册页至少可以追溯到版本3:minnie.tuhs.org/UnixTree/V3/usr/man/man1
wfaulk,2009年

2
早在第六版或更早的时候,UNIX就已经发行了,其中包含完整的源代码。所有获得它的大学都倾向于进行本地修改(这是BSD的来源),因此也许滑铁卢大学的一些本地系统程序员虽然“ shell”提示看起来更像是蜗牛,然后将%更改为@ 。正如您所说,有很多变体,当它们在v7中重新归类在一起时,无疑变化的起源已经是模糊的了。
Michael Dillon

3
伯恩(Bourne)的灵感来源:1978年的MTS FORTRAN-IV / WATFIV手册描述了打孔卡输入:“控制卡”包括“在第1列中始终以美元符号($)开头的命令...”。
cxw

9

最初的Bourne shell提示符是蜗牛壳“ @”。我记得在UNIX第6版上,我相信这是在UNIX商用之前。因此,切换到$符号可能与UNIX的商业化有关,正如Robert所建议的那样,$ hell。


3
Bourne shell的是不存在的,直到7版
wfaulk

2
好吧,我们只是将其称为“外壳”,所以我真的不知道是谁写的。我确实记得看到张贴有记录在案的所有壳命令的海报,它们像蜗牛壳一样螺旋地排列在标牌上。也许是来自O'Reilly,但我不确定。
Michael Dillon

8

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

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


4
他要求的是实际出身,而不是人们猜测的可能是什么。
davr

6
别傻了。从这里发布的其他答案来看,似乎没有人真的确定。
罗伯特·哈维

1
我猜想根提示符#的选择与注释字符是一致的,从而减少了意外粘贴危险命令的机会……也许不是!我认为他们过去在剪切和粘贴方面并没有太多的事情。
山姆·沃特金斯

对于它的价值,这就是我一直在寻找的答案,因为我永远不记得哪个是哪个。
John Leidegren


2

注意:这可能不是正确的,只是一个疯狂的猜测:

我有种$心理上的提醒。

我们必须记住,那时没有数字提示,只有纸质“电传打字机”(tty)。可能美元会说“您在浪费纸张和金钱来保持电话线整齐。已经输入了一些命令!”。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.