Woher stammt die Aufforderung UNIX $ (Dollar)?

83

Die UNIX-Eingabeaufforderung zeigt mit einem $Symbol an, dass Ihre Eingabe erwartet wird.

Ich habe mich gefragt, warum dieses Symbol gewählt wurde - wenn es einen Grund gibt. Dollar scheint nur ein wenig unerwartet. Ein >Symbol wäre meiner Meinung nach suggestiver gewesen.

Max Howell
quelle
3
Obwohl nicht programmierbezogen, sicher computerbezogen, also besser bei Super User, denke ich.
Joey
Ich möchte auch die Antwort wissen. Ich werde es auf SU suchen.
Gabriel Hurley
24
Es ist die Bourne-Shell-Eingabeaufforderung, nicht die Unix-Eingabeaufforderung. Die standardmäßige csh-Eingabeaufforderung lautet%.
Wfaulk
1
wfaulk, ich wünschte, ich könnte Ihren Kommentar mehr als einmal verbessern.
Richie Marquez
18
€ existierte noch nicht ...
mouviciel

Antworten:

59

Lassen Sie uns ein wenig erforschen:

  • Version 8 Unix ist einfach. Es sind noch Manpages verfügbar. Gehen Sie zur sh man- Seite und suchen Sie nach prompt. Sie kommen zu einem Punkt, an dem Sie lesen:

    PS1 Primäre Eingabeaufforderungszeichenfolge, standardmäßig "$".

    PS2 Sekundäre Eingabeaufforderungszeichenfolge, standardmäßig ">".

  • Mal sehen, ob das der erste war. Unix- Manpages der Version 7 sind weiterhin verfügbar, und die shManpage enthält die gleiche Beschreibung der Eingabeaufforderungen wie Version 8.

  • Was ist mit Version 6? Version 6 Unix war nicht schwer zu verfolgen. Aber die sh Manpage erwähnt überhaupt keine Eingabeaufforderungen. Der Leitfaden „Erste Schritte“ ist hier hilfreich. es erwähnt :

    Der Höhepunkt Ihrer Anmeldevorgänge ist ein Prozentzeichen „%“. Das Prozentzeichen bedeutet, dass UNIX Befehle vom Terminal annehmen kann.

Aha! Version 6 hatte es also nicht. Version 7 war der erste! Erschienen 1979.

Glücklich? Ich hasse es, auf deiner Parade zu regnen, aber sei nicht so :)

Das Problem ist, dass Version 6 ein inspirierendes Unix war. Schauen Sie sich hier die Varianten an . Kann es sein, dass das $ -Zeichen als Eingabeaufforderung nicht in Version 7, sondern in einer dieser Varianten gestartet wurde und dann die Idee in 7 aufgenommen wurde?

Zu diesem Zeitpunkt hatte ich es satt, ab meinem 6. Lebensjahr nach der Dokumentation von Betriebssystemen zu suchen. Wir wissen, dass Version 7 die erste Version von Bell Labs war, in der das $ -Zeichen als Eingabeaufforderung angezeigt wurde. Wir müssen nur sicher sein, dass keine dieser Version 6-Varianten es eingeführt hat. Es ist jedoch sinnvoll, dass diese Änderung in Version 7 veröffentlicht wurde, da in dieser Version die Bourne-Shell eingeführt wurde, die die in früheren Versionen von Unix verwendete Thompson-Shell (und die in Programmer's Workbench Unix verwendete Massey-Shell ) ersetzt.

Ein letzter Gedanke: Auch wenn
die Idee, ein Hinweis auf das Wort Shell oder Script zu sein, ansprechend und sinnvoll ist, sollten Sie nicht damit rechnen, dass dies jemals offiziell bestätigt wird. Die Entwicklung von Unix wurde von einer ziemlich großen Gruppe von Leuten geteilt, die viel größere Sorgen im Leben hatten, als zu verfolgen, wie sich ein Symbol entwickelte. Und einige dieser außergewöhnlichen Programmierer sind nicht mehr unter uns.

Höchstwahrscheinlich das Beste, was Sie von der Frage "Woher stammt die UNIX-Eingabeaufforderung $ (Dollar)?" Erhoffen können. ist der Name der ersten Unix-Shell, die es einführt.

A Dwarf
quelle
4
Version 7 war das erste Unix mit der Bourne-Shell. Es hat die Thompson-Shell in Version 6 ersetzt. Dies ist also eine Abgrenzung zwischen Shell-Eingabeaufforderungen, die Sinn macht.
Wfaulk
1
Jep. Wir können es ziemlich genau auf die Bourne Shell zurückführen. Bezüglich des Autors kein Zweifel. Aber er war wie alle anderen Mitarbeiter bei Bell Labs.
Ein Zwerg
1
Außerdem gab es Manpages, die mindestens bis Version 3 zurückreichen
wfaulk 20.10.09
2
Bereits in der sechsten Auflage vor einigen Tagen wurde UNIX mit vollständigem Quellcode ausgeliefert. Alle Universitäten, die es bekommen haben, neigten dazu, lokale Änderungen vorzunehmen (von denen BSD stammt), so dass vielleicht ein lokaler Systemprogrammierer an der Universität von Waterloo eine "Shell" -Aufforderung eher wie eine Schnecke aussehen sollte und das% in ein @ änderte. . Und wie Sie sagen, es gab viele Varianten, und als sie in Version 7 wieder zusammengestellt wurden, waren die Ursprünge der Änderungen zweifellos bereits verschwommen.
Michael Dillon
3
Eine mögliche Inspirationsquelle für Bourne: Das MTS FORTRAN-IV / WATFIV-Handbuch von 1978 beschreibt die Lochkarteneingabe: "Steuerkarten" enthalten "Befehle ..., die immer mit einem Dollarzeichen ($) in Spalte 1 beginnen."
CXW
9

Die ursprüngliche Bourne-Shell-Eingabeaufforderung war ein Schneckenhaus, "@". Ich erinnere mich an die sechste Ausgabe von UNIX, die meiner Meinung nach vor dem kommerziellen Verkauf von UNIX erschien. Die Umstellung auf ein $ -Zeichen könnte also mit der Kommerzialisierung von UNIX zusammenhängen, wie Robert angedeutet hatte: $ Hölle.

Michael Dillon
quelle
3
Die Bourne-Shell gab es erst in Version 7.
wfaulk 20.10.09
2
Wir haben es einfach "die Muschel" genannt, also weiß ich nicht wirklich, wer es geschrieben hat. Ich erinnere mich, dass ich Plakate mit allen darauf dokumentierten Shell-Befehlen gesehen habe, die spiralförmig wie ein Schneckenhaus oder am Schild angeordnet sind. Vielleicht war es von O'Reilly, aber ich kann nicht sicher sein.
Michael Dillon
8

Tatsächlich ist die Standardbefehlszeile für ein normales Benutzerkonto unter Linux, das die Bourne-, Bash- oder Korn-Shell verwendet, das Dollarzeichen ($), während die Root-Eingabeaufforderung ein Rautezeichen (#) ist. Im Gegensatz dazu ist die traditionelle C-Shell-Eingabeaufforderung ein Prozentzeichen (%).

Wenn ich raten sollte, erinnert das $ an das Wort $ hell, weshalb es wahrscheinlich gewählt wurde.

Robert Harvey
quelle
4
Er fragt nach dem tatsächlichen Ursprung, nicht nach dem, was die Leute vermuten.
Davr
6
Werd nicht bissig. Nach den anderen hier veröffentlichten Antworten zu urteilen, scheint es sowieso niemand wirklich genau zu wissen.
Robert Harvey
1
Ich denke, die root-Eingabeaufforderung # ist so gewählt, dass sie mit dem Kommentarzeichen übereinstimmt, was die Wahrscheinlichkeit verringert, dass aus Versehen gefährliche Befehle eingefügt werden ... oder vielleicht auch nicht! Ich glaube nicht, dass sie früher viel mit dem Ausschneiden und Einfügen zu tun hatten.
Sam Watkins
Für das, was es wert ist, war dies die Antwort, nach der ich gesucht habe, weil ich mich nie erinnern kann, was was ist.
John Leidegren
2

Achtung: Dies mag nicht wahr sein, es ist nur eine wilde Vermutung:

Ich habe das Gefühl, dass dies $eine psychologische Erinnerung ist.

Wir müssen uns daran erinnern, dass es damals keine digitale Eingabeaufforderung gab, sondern nur einen gedruckten "Teletyp" ( tty). Und wahrscheinlich lautete der Dollar: "Sie verschwenden Papier und Geld, um diese Telefonleitung aufrechtzuerhalten. Geben Sie einfach bereits einige Befehle ein !!".

Vikram Durai
quelle