¿Cuál es el origen de la solicitud UNIX $ (dólar)?


83

El indicador de UNIX usa un $símbolo para indicar que se espera su entrada.

Me preguntaba por qué se eligió este símbolo, si hay una razón. El dólar simplemente parece un poco inesperado. Un >símbolo habría sido más sugerente en mi opinión.


3
Aunque no está relacionado con la programación, sin duda con la computadora, creo que es mejor para Super User.
Joey el

También quiero saber la respuesta. Lo buscaré en SU.
Gabriel Hurley

24
Es el indicador de shell Bourne, no el indicador de Unix. El indicador de csh predeterminado es%.
wfaulk

1
wfaulk, desearía poder votar tu comentario más de una vez.
Richie Marquez

18
€ aún no existía ...
mouviciel

Respuestas:


59

Exploremos un poco:

  • La versión 8 de Unix es fácil. Todavía hay páginas de manual disponibles. Vaya a la página sh man y busque prompt. Llegarás a un punto donde lees:

    PS1 Cadena de solicitud principal, por defecto "$".

    Cadena de solicitud secundaria de PS2, por defecto ">".

  • Entonces, veamos si ese fue el primero. Las páginas de manual de Unix de la Versión 7 todavía están disponibles, y la shpágina de manual ofrece la misma descripción de avisos que la Versión 8.

  • ¿Qué pasa con la versión 6? La versión 6 de Unix no fue difícil de rastrear. Pero su sh página de manual no menciona mensajes en absoluto. La guía "Cómo comenzar" es útil aquí; se menciona :

    La culminación de sus esfuerzos de inicio de sesión es un signo de porcentaje "%". El signo de porcentaje significa que UNIX está listo para aceptar comandos del terminal.

¡Ajá! Entonces la versión 6 no lo tenía. ¡La versión 7 fue la primera! Lanzado en 1979.

¿Feliz? Odio llover en tu desfile, pero no seas :)

El problema es que la versión 6 fue un inspirador Unix. Mira las variantes aquí . ¿Puede ser que el signo $ como símbolo del sistema no se inició en la Versión 7, sino en una de estas variantes y luego la idea se incorporó a 7?

En este punto, me cansé de buscar documentación de sistemas operativos cuando tenía 6 años. Esto al menos lo reduce considerablemente. Sabemos que la Versión 7 fue la primera versión de Bell Labs en mostrar el signo $ como símbolo del sistema. Todo lo que debemos estar seguros es que ninguna de esas variantes de la Versión 6 lo introdujo. Sin embargo, tiene sentido que este cambio haya aparecido en la Versión 7, ya que esa es la versión que introdujo el shell Bourne, reemplazando el shell Thompson utilizado en versiones anteriores de Unix (y el shell Massey utilizado en Programmer's Workbench Unix).

Sin embargo, un último pensamiento: si
bien la idea de que $ es una pista para la palabra shell o script es atractiva y tiene mucho sentido, no esperes que esto se confirme oficialmente. El desarrollo de Unix fue compartido por un grupo bastante grande de personas con preocupaciones mucho mayores en la vida que el seguimiento de cómo evolucionó un símbolo. Y algunos de estos programadores extraordinarios ya ni siquiera están entre nosotros.

Probablemente, lo mejor que puede esperar de la pregunta "¿Cuál es el origen del indicador UNIX $ (dólar)?" es el nombre del primer shell de Unix que lo presenta.


44
La versión 7 fue el primer Unix con el shell Bourne. Reemplazó el shell de Thompson en la Versión 6. Por lo tanto, esto es una delineación entre los avisos de shell tiene sentido.
wfaulk

1
Sip. Podemos rastrearlo hasta el Bourne Shell. En cuanto al autor, no hay duda al respecto. Pero él era un empleado de Bell Labs como todos los demás.
Un enano el

1
Además, había páginas de manual al menos desde la versión 3: minnie.tuhs.org/UnixTree/V3/usr/man/man1
wfaulk

2
En los días de la sexta edición y antes, UNIX se distribuyó con el código fuente completo incluido. Todas las universidades que lo obtuvieron tendieron a hacer modificaciones locales (de ahí proviene BSD), por lo que tal vez algún programador de sistemas locales en la Universidad de Waterloo pensó que un mensaje "shell" debería parecerse más a un caracol, y cambió el% a un @ . Y como usted dice, había muchas variantes, y cuando se cotejaron nuevamente en la v7, sin duda, el origen de los cambios ya era confuso.
Michael Dillon

3
Una posible fuente de inspiración para Bourne: el manual MTS FORTRAN-IV / WATFIV de 1978 describe la entrada de tarjetas perforadas: las "tarjetas de control" incluyen "comandos ... que siempre comienzan con un signo de dólar ($) en la columna 1".
cxw

9

El indicador de shell Bourne original era un caracol, "@". Recuerdo esto en la sexta edición de UNIX que, creo, es antes de que UNIX se vendiera comercialmente. Por lo tanto, el cambio a un signo $ podría estar relacionado con la comercialización de UNIX, como Robert sugirió, $ hell.


3
El shell Bourne no existía hasta la Versión 7.
wfaulk

2
Bueno, simplemente lo llamamos "el caparazón", así que realmente no sé quién lo escribió. Recuerdo haber visto carteles con todos los comandos de conchas documentados en ellos, dispuestos en espiral como un caracol o en un cartel. Tal vez era de O'Reilly, pero no puedo estar seguro.
Michael Dillon

8

En realidad, el indicador de línea de comandos estándar en Linux para una cuenta de usuario normal que utiliza Bourne, Bash o Korn shell es el signo de dólar ($) mientras que el indicador de raíz es una marca hash (#). Por el contrario, el indicador de shell C tradicional es un signo de porcentaje (%).

Si tuviera que adivinar, el $ recuerda a la palabra $ infierno, por lo que probablemente se eligió.


44
Está preguntando por el origen real, no por lo que la gente cree que podría ser.
davr

66
No te pongas sarcástico. A juzgar por las otras respuestas publicadas aquí, parece que nadie lo sabe con certeza de todos modos.
Robert Harvey

1
Supongo que el indicador de raíz # se elige para que coincida con el carácter del comentario, lo que reduce las posibilidades de pegar accidentalmente comandos peligrosos ... ¡o tal vez no! No creo que hayan tenido mucho en el camino de cortar y pegar en el día.
Sam Watkins

Por lo que vale, esta fue la respuesta que estaba buscando porque nunca puedo recordar cuál es cuál.
John Leidegren


2

Atención: esto puede no ser cierto, es solo una suposición salvaje:

Tengo la sensación de que $es un recordatorio psicológico.

Tenemos que recordar que en aquel entonces, no había un aviso digital, solo un "teletipo" en papel ( tty). Y probablemente el dólar fue para decir "estás desperdiciando papel y dinero manteniendo esta línea telefónica. ¡Solo ingresa algunos comandos ya!".

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.