74

Приглашение UNIX использует символ $ чтобы указать, что ваш ввод ожидается.

Мне было интересно, почему этот символ был выбран - если есть причина. Доллар просто кажется немного неожиданным. A > символ был бы более наводящим на мой взгляд.

5 ответов5

53

Давайте рассмотрим немного:

  • Версия 8 Unix это просто. Все еще доступны справочные страницы. Перейдите на страницу man sh и найдите подсказку. Вы попадете в точку, где вы читаете:

    PS1 Основная строка приглашения, по умолчанию «$».

    PS2 Вторичная строка приглашения, по умолчанию «>».

  • Итак, давайте посмотрим, было ли это первым. Справочные страницы Unix версии 7 по-прежнему доступны, а на справочной странице sh приводится то же описание приглашений, что и в версии 8.

  • А как насчет версии 6? Версию 6 Unix было не сложно отследить. Но его страница sh человека не упоминает подсказки на всех. Руководство «Начало работы» пригодится здесь; это упоминает:

    Кульминацией ваших попыток входа в систему является знак процента «%». Знак процента означает, что UNIX готов принимать команды от терминала.

Ага! Так что версия 6 не имела его. Версия 7 была первой! Освобожден в 1979 году.

Счастливый? Ненавижу дождь на вашем параде, но не надо :)

Проблема в том, что версия 6 была одним из вдохновляющих Unix. Посмотрите на варианты здесь. Может ли быть так, что знак $ как командная строка был запущен не в Версии 7, а в одном из этих вариантов, а затем в 7?

В этот момент я устал от поиска документации по операционным системам с 6 лет. Это, по крайней мере, значительно сужает его. Мы знаем, что версия 7 была первым выпуском Bell Labs, в котором в качестве командной строки отображался знак $. Все, что мы должны быть уверены, это то, что ни один из этих вариантов Версии 6 не представил его. Имеет смысл, чтобы это изменение появилось в Версии 7, хотя, поскольку это релиз, который представил оболочку Bourne, заменил оболочку Thompson, использовавшуюся в предыдущих версиях Unix (и оболочку Massey, использовавшуюся в Unix программиста Workbench).

Одна последняя мысль, хотя:
Хотя идея $ как подсказки для слова shell или script привлекательна и имеет смысл, не ожидайте, что это когда-либо будет официально подтверждено. Разработкой Unix поделилась довольно большая группа людей, у которых в жизни было гораздо больше проблем, чем отслеживание эволюции символа. И некоторых из этих выдающихся программистов уже нет среди нас.

Скорее всего, лучшее, что вы можете надеяться получить от вопроса "Каково происхождение приглашения UNIX $ (доллар)?"это имя первой оболочки Unix, представляющей его.

7

К сожалению, я не могу ответить на вопрос, но я могу дать вам несколько советов.

7

Исходная подсказка оболочки Bourne представляла собой оболочку улитки «@». Я помню это в UNIX 6th edition, которая, я полагаю, еще до того, как UNIX была продана коммерчески. Таким образом, переход на знак $ может быть связан с коммерциализацией UNIX, как предположил Роберт, $ hell.

5

На самом деле, стандартное приглашение командной строки в Linux для учетной записи обычного пользователя, использующего оболочку Bourne, Bash или Korn, - это знак доллара ($), в то время как корневое приглашение - хеш-знак (#). В отличие от традиционного приглашения оболочки C является знак процента (%).

Если бы я догадался, $ напоминает слово $ ад, вероятно, поэтому оно было выбрано.

1

Внимание: это не может быть правдой, это просто дикая догадка:

У меня такое ощущение, что $ это психологическое напоминание.

Мы должны помнить, что тогда не было цифровой подсказки, только бумажный "телетайп" (tty). И, вероятно, доллар должен был сказать: «Вы тратите бумагу и деньги, поддерживая эту телефонную линию. Просто введите несколько команд уже !!».

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .