Qual é a origem do prompt UNIX $ (dollar)?

74

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

Eu estava me perguntando por que esse símbolo foi escolhido - se houver um motivo. O dólar parece um pouco inesperado. Um símbolo > teria sido mais sugestivo na minha opinião.

    
por 5 revs, 5 users 57%Max Howell 06.05.2016 / 23:38

5 respostas

52

Vamos explorar um pouco:

  • Versão 8 do Unix é fácil. Ainda há man pages disponíveis. Chegar ao Página sh man e pesquise por pronto. Você vai chegar a um ponto onde você leu:

    PS1 Primary prompt string, by default “$ ”.

    PS2 Secondary prompt string, by default “> ”.

  • Então vamos ver se foi o primeiro. As páginas de manual do Versão 7 Unix ainda estão disponível e a página sh man fornece a mesma descrição de prompts Versão 8.

  • E a versão 6? Versão 6 do Unix não foi difícil de acompanhar. Mas seu sh página man não menciona prompts em todos. O guia “Primeiros passos” vem a calhar aqui; menciona :

    The culmination of your login efforts is a percent sign “%”. The percent sign means that UNIX is ready to accept commands from the terminal.

Aha! Então a versão 6 não tinha isso. A versão 7 foi a primeira! Lançada em 1979.

Feliz? Odeio chover no seu desfile, mas não fique:)

O problema é que a versão 6 era 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 vez disso, em uma dessas variantes e, em seguida, a ideia foi incorporada em 7?

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

Um último pensamento, no entanto:
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 confirmado oficialmente. O desenvolvimento do Unix foi compartilhado por um grupo bastante grande de pessoas com preocupações muito maiores na vida do que saber como um símbolo evoluiu. E alguns desses extraordinários programadores não estão mais entre nós.

Provavelmente, o melhor que você pode esperar obter da pergunta "Qual é a origem do prompt UNIX $ (dollar)?" é o nome do primeiro shell do Unix que o apresenta.

    
por 10.07.2018 / 14:17
7

Infelizmente, não posso responder à pergunta, mas posso dar algumas dicas.

por 06.05.2016 / 23:45
6

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

    
por 20.10.2009 / 02:02
5

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 contraste, o prompt de shell C tradicional é um sinal de porcentagem (%).

Se eu fosse para adivinhar, o $ é uma reminiscência da palavra $ hell, que é provavelmente por isso que foi escolhido.

    
por 20.10.2009 / 01:31
1

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

Tenho a sensação de que $ é um lembrete psicológico.

Temos que lembrar que, naquela época, não havia um prompt digital, apenas um "teletipo" em papel ( tty ). E provavelmente o dólar era para dizer "você está desperdiçando papel e dinheiro mantendo essa linha telefônica. Apenas digite alguns comandos já !!".

    
por 22.03.2018 / 14:05