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


UNIX提示符使用 $ 符號表示您的輸入是預期的。

我想知道為什麼選擇這個符號 - 如果有原因的話。美元似乎有點出乎意料。一個 > 在我看來,符號會更具啟發性。


74


起源


我認為,雖然與編程無關,當然與計算機相關,因此在超級用戶方面更好。 - Joey
我也想知道答案。我會在SU上尋找它。 - Gabriel Hurley
這是Bourne shell提示符,而不是Unix提示符。默認的csh提示符為%。 - wfaulk
wfaulk,我希望我能不止一次地贊成你的評論。 - Richie Marquez
€還不存在...... - mouviciel


答案:


讓我們探討一下:

  • 版本8 Unix 簡單。還有手冊頁。到達  頁面和搜索 提示。你會明白的 你讀:

    PS1主要提示字符串,默認為“$”。

    PS2輔助提示字符串,默認為“>”。

  • 那麼讓我們看看這是否是第一個。 版本7 Unix 手冊頁還在 可用,和 sh 手冊頁 給出與提示相同的描述 版本8。

  • 版本6怎麼樣? 版本6 Unix 不難追踪。但 它的 sh 手冊頁 沒有提到提示 所有。 “入門”指南 在這裡派上用場;它 提到

    您登錄工作的高潮   是百分號“%”。百分比   sign表示UNIX已準備就緒   接受來自終端的命令。

啊哈!所以版本6沒有它。 版本7是第一個! 1979年發布。

快樂? 在你的遊行中討厭下雨,但不要:)

問題是版本6是一個鼓舞人心的Unix。看看變種 這裡。是否可以將$ sign作為命令提示符在版本7中啟動,而是在其中一個版本中,然後將該想法合併到7中?

在這一點上,我厭倦了在我6歲的時候尋找操作系統文檔。這至少會大大縮小它的範圍。我們知道版本7是第一個將$ sign作為命令提示符顯示的貝爾實驗室版本。我們需要確定的是,這些版本6變體都沒有引入它。這種變化出現在第7版中是有道理的,因為這是引入Bourne shell的版本,取代了以前版本的Unix中使用的Thompson shell(以及 梅西貝殼 用於Programmer's Workbench Unix)。

最後一個想法:
雖然$暗示shell或腳本這個詞的想法很有吸引力並且有意義,但不要指望這一點能夠得到官方證實。 Unix開發由一大群人共享,他們對生活的關注要遠遠大於跟踪符號如何演變。其中一些非凡的程序員甚至不再在我們中間了。

最有可能的是,你最希望得到的問題是“UNIX $(美元)提示的起源是什麼?”是引入它的第一個Unix shell的名稱。


52



版本7是第一個帶有Bourne shell的Unix。它取代了版本6中的Thompson shell。所以這是shell提示之間的界限是有道理的。 - wfaulk
此外,Bourne shell由Stephen Bourne開發。 - wfaulk
對。我們幾乎可以追溯到Bourne Shell。至於作者,毫無疑問。但就像其他人一樣,他是貝爾實驗室的員工。 - A Dwarf
此外,至少可以追溯到第3版的手冊頁: minnie.tuhs.org/UnixTree/V3/usr/man/man1 - wfaulk
早在第六版及之前,UNIX就已經發布,其中包含完整的源代碼。獲得它的所有大學都傾向於進行本地修改(這是BSD來自哪裡)所以也許滑鐵盧大學的一些本地系統程序員雖然“shell”提示應該看起來更像蝸牛,並將%更改為@ 。正如你所說,有很多變種,當它們在第7版中重新整理時,毫無疑問,變化的起源已經模糊了。 - Michael Dillon


可悲的是,我無法回答這個問題,但我可以給你一些指示。


7





最初的Bourne shell提示符是一個蝸牛shell,“@”。我記得在UNIX第6版中,我認為這是在UNIX商業化銷售之前。因此,切換到$符號可能與UNIX的商業化有關,正如Robert建議的那樣,地獄。


6



Bourne shell在版本7之前不存在。 - wfaulk
好吧,我們只稱它為“shell”,所以我真的不知道是誰寫的。我確實記得看到海報上記錄了所有的shell命令,排列成螺旋狀的蝸牛殼或標誌。也許是來自O'Reilly,但我無法確定。 - Michael Dillon


實際上,Linux中用於使用Bourne,Bash或Korn shell的普通用戶帳戶的標準命令行提示符是美元符號($),而根提示符是井號(#)。相比之下,傳統的C shell提示符是百分號(%)。

如果我猜測,$讓人聯想到$ he​​ll這個詞,這可能就是為什麼它被選中了。


5



他要求的是實際的起源,而不是人們猜測它可能是什麼。 - davr
不要嗤之以鼻。從這裡發布的其他答案來看,無論如何似乎沒有人真正知道。 - Robert Harvey
我猜根本提示符#被選中與註釋字符一致,減少了意外粘貼危險命令的機會......或者可能沒有!我認為他們在當天沒有太多的剪切和粘貼方式。 - Sam Watkins


注意:這可能不是真的,只是一個瘋狂的猜測:

我有一種感覺 $ 是一種心理提醒。

我們必須記住那時候,沒有數字提示,只有紙張“電傳打字機”(tty)。也許美元就是說“你在浪費紙張和金錢保持這個電話線。只需輸入一些命令!!”。


1