it-swarm-eu.dev

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

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

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

76
Max Howell

Esploriamo un po ':

  • Versione 8 Unix è facile. Ci sono ancora pagine man disponibili. Vai alla pagina man e cerca il Prompt. Arriverete a un punto in cui leggete:

    Stringa richiesta primaria PS1, per impostazione predefinita "$".

    Stringa richiesta secondaria PS2, per impostazione predefinita ">".

  • Quindi vediamo se era il primo. Versione 7 Le pagine man di Unix sono ancora disponibili e la pagina man di sh fornisce la stessa descrizione dei prompt come versione 8.

  • Che ne dici della versione 6? Versione 6 Unix non era difficile da tracciare. Ma la sua pagina man sh non menziona affatto i prompt. La guida "Getting started" è utile qui; it menzioni :

    Il culmine degli sforzi 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'ha. La versione 7 è stata la prima! Rilasciata nel 1979.

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

Il problema è che la versione 6 era ispirata a 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 poi l'idea incorporata in 7?

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

Un ultimo pensiero però:
Mentre l'idea che $ sia un suggerimento per Word Shell o script è attraente e ha senso, non aspettarti che questo sia mai confermato ufficialmente. Lo sviluppo di Unix è stato condiviso da un gruppo piuttosto ampio di persone con preoccupazioni molto più importanti nella vita rispetto a come si è evoluto il simbolo. E alcuni di questi straordinari programmatori non sono nemmeno tra noi.

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

55
A Dwarf

L'originale Bourne Shell Prompt era una lumaca Shell, "@". Mi ricordo di questo sulla 6a edizione UNIX che, credo, è prima che UNIX fosse venduto commercialmente. Quindi il passaggio a un segno $ potrebbe essere correlato alla commercializzazione di UNIX, come suggeriva Robert, $ inferno.

8
Michael Dillon

Purtroppo, non posso rispondere alla domanda, ma posso darvi alcune indicazioni.

7
wfaulk

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

Se dovessi indovinare, il $ ricorda l'inferno di Word $, che è probabilmente il motivo per cui è stato scelto.

6
Robert Harvey

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

Ho la sensazione che $ sia un promemoria psicologico.

Dobbiamo ricordare che all'epoca non esisteva un Prompt digitale, solo un "teletype" cartaceo (tty). E probabilmente il dollaro avrebbe detto "stai sprecando carta e denaro mantenendo questa linea telefonica, inserisci solo alcuni comandi !!".

1
Vikram Durai