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.
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.
Risposte:
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 sh
pagina 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.
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.
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.
Purtroppo, non posso rispondere alla domanda, ma posso darti alcuni suggerimenti.
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à !!".