Qual é a origem do prompt do UNIX $ (dólar)?


83

O prompt do UNIX usa um $símbolo para indicar que sua entrada é esperada.

Fiquei me perguntando por que esse símbolo foi escolhido - se há uma razão. O dólar parece um pouco inesperado. Um >símbolo teria sido mais sugestivo na minha opinião.


3
Embora não relacionado à programação, certamente relacionado ao computador, portanto melhor no Super Usuário, eu acho.
— 194 Joey

Também quero saber a resposta. Vou procurá-lo no SU.
— 22715 Gabriel Hurley

24
É o prompt do shell Bourne, não o prompt do Unix. O prompt csh padrão é%.
— Wfaulk 20/10/09

1
wfaulk, gostaria de poder votar seu comentário mais de uma vez.
— 22615 Richie Marquez

18
€ ainda não existia ...
— mouviciel 20/10/2009

Respostas:


59

Vamos explorar um pouco:

  • Versão 8 Unix é fácil. Ainda há páginas de manual disponíveis. Vá para a página sh man e procure por prompt. Você chegará a um ponto em que você lê:

    Sequência de prompt primário do PS1, por padrão "$".

    Sequência de prompt secundário do PS2, por padrão “>”.

  • Então, vamos ver se esse foi o primeiro. As páginas de manual do Unix da versão 7 ainda estão disponíveis, e a shpágina de manual fornece a mesma descrição de avisos da Versão 8.

  • E a versão 6? Versão 6 Unix não era difícil de rastrear. Mas sua sh página de manual não menciona avisos. O guia "Introdução" é útil aqui; ele menciona :

    O ponto culminante dos seus esforços de login é um sinal de porcentagem "%". O sinal de porcentagem significa que o UNIX está pronto para aceitar comandos do terminal.

Aha! Portanto, a versão 6 não tinha. A versão 7 foi a primeira! Lançado em 1979.

Feliz? Odeie chover em seu desfile, mas não fique :)

O problema é que a versão 6 foi um Unix inspirador. Veja as variantes aqui . Pode ser que o sinal $ como um prompt de comando não tenha sido iniciado na Versão 7, mas em uma dessas variantes e depois a ideia tenha sido incorporada à 7?

Neste ponto, eu me cansei de procurar documentação de sistemas operacionais a partir de um momento em que eu tinha 6 anos. Isso pelo menos a reduz consideravelmente. Sabemos que a versão 7 foi o primeiro lançamento do Bell Labs a mostrar o sinal $ como um prompt de comando. Tudo o que precisamos ter certeza é que nenhuma dessas variantes da versão 6 o introduziu. Faz sentido que essa alteração tenha aparecido na versão 7, já que esse foi o lançamento que introduziu o shell Bourne, substituindo o shell Thompson usado nas versões anteriores do Unix (e o shell Massey usado no Workbench Unix do Programmer).

Porém, um último pensamento:
embora a idéia de $ ser uma dica para a palavra shell ou script seja atraente e faça todo o sentido, não espere que isso seja oficialmente confirmado. O desenvolvimento do Unix foi compartilhado por um grupo bastante grande de pessoas com preocupações muito maiores na vida do que acompanhar como um símbolo evoluiu. E alguns desses programadores extraordinários não estão mais entre nós.

Muito provavelmente, o melhor que você pode esperar da pergunta "Qual é a origem do prompt do UNIX $ (dólar)?" é o nome do primeiro shell Unix que o introduziu.


4
A versão 7 foi o primeiro Unix com o shell Bourne. Ele substituiu o shell Thompson na versão 6. Portanto, esse delineamento entre os prompts do shell faz sentido.
— Wfaulk 20/10/09

1
Sim. Nós podemos rastrear isso até o Bourne Shell. Quanto ao autor, não há dúvida sobre isso. Mas ele era funcionário da Bell Labs, como todo mundo.
— Um anão

1
Além disso, havia páginas man, pelo menos, já em versão 3: minnie.tuhs.org/UnixTree/V3/usr/man/man1
— wfaulk

2
Nos dias da sexta edição e antes, o UNIX era distribuído com o código fonte completo incluído. Todas as universidades que obtiveram a tendência tendiam a fazer modificações locais (é daí que o BSD veio), então talvez um programador de sistemas local da Universidade de Waterloo tenha em mente que um prompt "shell" deva parecer mais um caracol e altere o% para @ . E, como você diz, havia muitas variantes e, quando elas foram reunidas novamente na v7, sem dúvida as origens das mudanças já eram imprecisas.
— 22715 Michael Dillon

3
Uma possível fonte de inspiração para Bourne: o manual MTS FORTRAN-IV / WATFIV de 1978 descreve a entrada do cartão perfurado: "cartões de controle" incluem "comandos ... que sempre começam com um sinal de dólar ($) na coluna 1."
— Cxw #

9

O prompt original do shell Bourne era um shell de caracol, "@". Lembro-me disso na 6ª edição do UNIX, que acredito, antes do UNIX ser vendido comercialmente. Portanto, a mudança para um sinal $ pode estar relacionada à comercialização do UNIX, como Robert sugeriu, $ hell.


3
O shell Bourne não existia até versão 7.
— wfaulk

2
Bem, nós apenas chamamos de "casca", então eu realmente não sei quem a escreveu. Lembro-me de ver cartazes com todos os comandos de concha documentados, dispostos em espiral como uma concha de caracol ou em sinalização. Talvez fosse de O'Reilly, mas não tenho certeza.
— 22711 Michael Dillon

8

Na verdade, o prompt de linha de comando padrão no Linux para uma conta de usuário normal usando shell Bourne, Bash ou Korn é o cifrão ($) enquanto o prompt raiz é uma marca de hash (#). Por outro lado, o prompt do shell C tradicional é um sinal de porcentagem (%).

Se eu fosse adivinhar, o $ é uma reminiscência da palavra $ hell, provavelmente a razão pela qual foi escolhida.


4
Ele está pedindo a origem real, não o que as pessoas acham que pode ser.
— davr

6
Não fique irritado. A julgar pelas outras respostas postadas aqui, parece que ninguém realmente sabe ao certo de qualquer maneira.
— 21711 Robert Harvey

1
Eu acho que o prompt raiz # foi escolhido para coincidir com o caractere de comentário, reduzindo as chances de colar acidentalmente comandos perigosos ... ou talvez não! Eu não acho que eles tinham muito como recortar e colar naquele dia.
— Sam Watkins

Pelo que vale, essa foi a resposta que eu estava procurando, porque nunca me lembro qual é qual.
— John Leidegren


2

Atenção: isso pode não ser verdade, é apenas um palpite:

Eu tenho um sentimento que $é um lembrete psicológico.

Temos que lembrar que naquela época não havia um aviso digital, apenas um "teletipo" de papel ( tty). E provavelmente o dólar dizia "você está desperdiçando papel e dinheiro mantendo essa linha telefônica. Basta digitar alguns comandos já !!".

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.