Qual è l'origine del prompt UNIX $ (dollaro)?


83

Il prompt UNIX utilizza un $simbolo per indicare che è previsto l'input.

Mi chiedevo perché fosse scelto questo simbolo, se c'è una ragione. Il dollaro sembra solo un po 'inaspettato. Un >simbolo sarebbe stato più suggestivo secondo me.


3
Sebbene non sia legato alla programmazione, certamente collegato al computer, quindi meglio in Super User, penso.
Joey,

Voglio sapere anche la risposta. Lo cercherò su SU.
Gabriel Hurley,

24
È il prompt della shell Bourne, non il prompt Unix. Il prompt predefinito di csh è%.
wfaulk,

1
wfaulk, vorrei poter votare il tuo commento più di una volta.
Richie Marquez,

18
€ non esisteva ancora ...
mouviciel,

Risposte:


59

Esploriamo un po ':

  • La versione 8 di Unix è semplice. Ci sono ancora pagine man disponibili. Vai alla pagina man di sh e cerca il prompt. Arriverete al punto in cui leggete:

    PS1 Stringa di prompt primaria, per impostazione predefinita "$".

    Stringa di prompt secondario PS2, per impostazione predefinita ">".

  • Quindi vediamo se quello è stato il primo. Le pagine man di Unix versione 7 sono ancora disponibili e la shpagina man fornisce la stessa descrizione dei prompt della versione 8.

  • Che dire della versione 6? Versione 6 Unix non è stato difficile da rintracciare. Ma la sua sh pagina man non menziona affatto i suggerimenti. La guida “Guida introduttiva” è utile qui; si cita :

    Il culmine delle tue operazioni di accesso è un segno di percentuale "%". Il segno di percentuale indica che UNIX è pronto ad accettare comandi dal terminale.

Aha! Quindi la versione 6 non ce l'aveva. La versione 7 è stata la prima! Rilasciato nel 1979.

Contento? Odia piovere sulla tua parata, ma non essere :)

Il problema è che la versione 6 è stata una fonte d'ispirazione per Unix. Guarda le varianti qui . Può essere che il segno $ come prompt dei comandi non sia stato avviato nella versione 7, ma invece in una di queste varianti e quindi l'idea incorporata in 7?

A questo punto mi sono stancato di cercare documentazione sui sistemi operativi da quando avevo 6 anni. Questo almeno lo restringe considerevolmente. Sappiamo che la versione 7 è stata la prima versione di Bell Labs a mostrare il simbolo $ come prompt dei comandi. Tutto ciò di cui abbiamo bisogno per essere sicuri è che nessuna di quelle varianti della Versione 6 lo ha introdotto. È logico che questa modifica sia apparsa nella versione 7, poiché questa è la versione che ha introdotto la shell Bourne, sostituendo la shell Thompson utilizzata nelle versioni precedenti di Unix (e la shell Massey utilizzata in Programmer's Workbench Unix).

Un ultimo pensiero però:
mentre l'idea di $ essere un suggerimento per la parola shell o script è allettante e ha senso, non aspettatevi che questo sia mai stato confermato ufficialmente. Lo sviluppo di Unix è stato condiviso da un gruppo piuttosto ampio di persone con preoccupazioni molto più grandi nella vita che tenere traccia di come si è evoluto un simbolo. E alcuni di questi programmatori straordinari non sono più nemmeno tra noi.

Molto probabilmente, il massimo che puoi sperare di ottenere dalla domanda "Qual è l'origine del prompt UNIX $ (dollaro)?" è il nome della prima shell Unix che la introduce.


4
La versione 7 è stata la prima Unix con la shell Bourne. Ha sostituito la shell Thompson nella versione 6. Quindi, questa è una delineazione tra i prompt della shell ha senso.
wfaulk,

1
Sì. Possiamo praticamente rintracciarlo sulla Bourne Shell. Per quanto riguarda l'autore, non c'è dubbio. Ma era un impiegato dei Bell Labs proprio come tutti gli altri.
Un nano,

1
Inoltre, c'erano pagine man almeno fino alla versione 3: minnie.tuhs.org/UnixTree/V3/usr/man/man1
wfaulk,

2
Già nei giorni della sesta edizione, UNIX era distribuito con il codice sorgente completo incluso. Tutte le università che hanno avuto la tendenza a fare modifiche locali (ecco da dove proveniva BSD), quindi forse alcuni programmatori di sistemi locali presso l'Università di Waterloo sebbene un prompt "shell" dovrebbe assomigliare più a una lumaca e ha cambiato il% in un @ . E come dici tu, c'erano molte varianti, e quando furono riunite di nuovo insieme nella v7, senza dubbio le origini dei cambiamenti erano già sfocate.
Michael Dillon,

3
Una possibile fonte d'ispirazione per Bourne: il manuale MTS FORTRAN-IV / WATFIV del 1978 descrive l'immissione di schede perforate: le "schede di controllo" includono "comandi ... che iniziano sempre con un segno di dollaro ($) nella colonna 1."
cxw,

9

Il prompt originale della shell Bourne era una shell lumaca, "@". Lo ricordo sulla sesta edizione di UNIX che, credo, è prima che UNIX venisse venduto commercialmente. Quindi il passaggio a un segno $ potrebbe essere correlato alla commercializzazione di UNIX, come suggerì Robert, $ inferno.


3
La shell Bourne non esisteva fino alla versione 7.
wfaulk,

2
Bene, l'abbiamo appena chiamato "la shell", quindi non so davvero chi l'abbia scritto. Ricordo di aver visto dei poster con tutti i comandi della shell documentati su di essi, disposti a spirale come un guscio di lumaca o all'insegna. Forse era di O'Reilly ma non posso esserne sicuro.
Michael Dillon,

8

In realtà, il prompt della riga di comando standard in Linux per un normale account utente che utilizza la shell Bourne, Bash o Korn è il simbolo del dollaro ($) mentre il prompt di root è un segno di hash (#). Al contrario, il tradizionale prompt della shell C è un segno di percentuale (%).

Se dovessi indovinare, il $ ricorda la parola $ inferno, che è probabilmente il motivo per cui è stato scelto.


4
Sta chiedendo l'origine reale, non quello che la gente immagina possa essere.
dav

6
Non diventare snarky. A giudicare dalle altre risposte pubblicate qui, sembra che nessuno lo sappia per certo.
Robert Harvey,

1
Immagino che il prompt di root # sia così scelto per coincidere con il carattere del commento, riducendo le possibilità di incollare accidentalmente comandi pericolosi ... o forse no! Non credo che avessero molto nel modo di tagliare e incollare indietro nel corso della giornata.
Sam Watkins

Per quello che vale, questa era la risposta che cercavo perché non riesco mai a ricordare quale sia quale.
John Leidegren,


2

Attenzione: questo potrebbe non essere vero, è solo un'ipotesi selvaggia:

Ho la sensazione che $sia un promemoria psicologico.

Dobbiamo ricordare che allora, non c'era un prompt digitale, solo un "teletype" cartaceo ( tty). E probabilmente il dollaro è stato quello di dire "stai sprecando carta e denaro mantenendo questo telefono in linea. Basta inserire alcuni comandi già !!".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.