Яке джерело підказки UNIX $ (долар)?


83

Підказка UNIX використовує $символ, щоб вказати, що очікується ваш вхід.

Мені було цікаво, чому саме цей символ обраний - якщо є причина. Долар просто здається трохи несподіваним. >Символ був би більш наводить на думку , на мій погляд.


3
Хоча я вважаю, що це не пов'язано з програмуванням, але, звичайно, пов'язане з комп'ютером, тому краще для Super User.
Джої

Я теж хочу знати відповідь. Я буду шукати його на СУ.
Габріель Херлі

24
Це підказка оболонки Bourne, а не підказка Unix. Замовчувальний запит csh -%.
wfaulk

1
wfaulk, я б хотів, щоб я міг опублікувати ваш коментар не один раз.
Річі Маркес

18
€ ще не існувало ...
mouviciel

Відповіді:


59

Давайте трохи вивчимо:

  • Версія 8 Unix проста. Доступні сторінки чоловіка. Перейдіть на сторінку sh sh man і знайдіть підказку. Ви дістанетесь до пункту, коли прочитаєте:

    PS1 Первинний рядок підказок за замовчуванням "$".

    PS2 Вторинна рядок підказок за замовчуванням ">".

  • Тож давайте подивимось, чи було це першим. Сторінки чоловічої версії 7 версії Unix все ще доступні, і на shчоловічій сторінці подано такий самий опис підказок, що і у версії 8.

  • Що з версією 6? Версію 6 Unix не важко було відстежити. Але його sh сторінка зовсім не згадує підказки. Тут корисний посібник "Початок роботи" ; в ньому згадується :

    Кульмінацією ваших зусиль для входу є знак відсотка “%”. Знак відсотка означає, що UNIX готовий приймати команди з терміналу.

Ага! Тож у версії 6 цього не було. Версія 7 була першою! Вийшов у 1979 році.

Щасливі? Ненавиджу дощ на вашому параді, але не будьте :)

Проблема полягає в тому, що версія 6 була натхненною Unix. Подивіться варіанти тут . Чи може бути, що знак $ як командний рядок був запущений не у версії 7, а натомість в одному з цих варіантів, а потім ідея включена у 7?

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

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

Напевно, найкраще, на що ви можете сподіватися, отримавши запитання "Яке походження запиту UNIX $ (долар)?" це ім'я першої оболонки Unix, що представляє її.


4
Версія 7 була першим Unix із оболонкою Bourne. Він замінив оболонку Томпсона у версії 6. Отже, це обмеження між підказками оболонки має сенс.
wfaulk

1
Так. Ми майже можемо простежити це до панциру Борна. Щодо автора, то в цьому немає сумнівів. Але він був співробітником Bell Labs, як і всі інші.
Гном

1
Крім того, існували довідкові
wfaulk

2
Ще в дні шостого видання і раніше UNIX розповсюджувався з повним вихідним кодом. Усі університети, які отримали це, мали тенденцію робити місцеві модифікації (саме звідси походить BSD), тому, можливо, якийсь програміст місцевих систем в Університеті Ватерлоо, хоча, що підказка "оболонки" повинна виглядати більше як равлик, і змінила% на @ . Як ви кажете, варіантів було багато, і коли вони зібралися разом у v7, без сумніву, джерела змін уже були нечіткими.
Майкл Діллон

3
Можливе джерело натхнення для Борна: посібник MTS FORTRAN-IV / WATFIV 1978 року описує введення перфокарт: "контрольні картки" містять "команди ..., які завжди починаються зі знака долара ($) у колонці 1."
cxw

9

Оригінальною підказкою для оболонки Борна була снаряд "равлик". Я пам’ятаю це в 6-му виданні UNIX, яке, я вважаю, було до того, як UNIX був проданий на комерційній основі. Отже, перехід на знак $ може бути пов'язаний з комерціалізацією UNIX, як запропонував Роберт, $ пекла.


3
Оболонка Борна існувала до версії 7.
wfaulk

2
Ну, ми просто назвали це "оболонкою", тому я не знаю, хто це написав. Я пам’ятаю, як бачив плакати з усіма задокументованими на них командами оболонок, розташованими по спіралі, як равликова оболонка або під знаком. Можливо, це було від O'Reilly, але я не можу бути впевнений.
Майкл Діллон

8

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

Якби я здогадувався, $ нагадує слово $ ад, тому, ймовірно, саме його було обрано.


4
Він запитує фактичне походження, а не те, про що люди здогадуються.
дав

6
Не сприймайся. Судячи з інших розміщених тут відповідей, виявляється, що все одно ніхто точно не знає.
Роберт Харві

1
Я думаю, що коренева підказка # обрана таким чином, щоб вона збігалася з символом коментаря, зменшуючи шанси випадково вставити небезпечні команди ... а може й ні! Я не думаю, що вони сильно перешкодили вирізати та вставляти назад.
Сем Уоткінс

Бо чого це варто, це була відповідь, яку я шукав, тому що ніколи не пам'ятаю, що це таке.
Джон Лейдегрен

7

На жаль, я не можу відповісти на це питання, але можу дати вам декілька покажчиків.


2

Увага: це може бути неправдою, це лише дика здогадка:

У мене є відчуття, що $це психологічне нагадування.

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

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.