Почему $ является символом по умолчанию для оболочки пользователя и # символом по умолчанию для корневой оболочки?

При запуске стандартной оболочки bash на сервере приглашение PS1 по умолчанию заканчивается на $ для пользователей без полномочий root и # для root.

IE:

ubuntu@server:~$ sudo su root@server:/home/ubuntu# 

Почему это?

  • Как использовать kdialog progressbar из сценария Bash, когда панель была инициализирована в другом скрипте?
  • Почему моя подсказка bash получает прослушивание, когда я просматриваю историю?
  • Как сохранить путь, построенный с помощью подстановочных знаков и содержащий пробелы в переменной
  • Состояние внутри строки в Bashscript
  • Как найти только поиск файлов в измененных каталогах?
  • Разделение аргумента командной строки bash
  • Как узнать последовательность эвакуации, которую посылают мои клавиатуры на терминал?
  • терминал - с «$» вместо MyComputer: ~ me $
  • 2 Solutions collect form web for “Почему $ является символом по умолчанию для оболочки пользователя и # символом по умолчанию для корневой оболочки?”

    Исторически исходная оболочка / bin / sh Bourne будет использовать $ в качестве обычного приглашения и # для приглашения пользователя root (а csh будет использовать % ). Это сделало довольно простым рассказать, работаете ли вы как суперпользователь или нет.

    # также является символом комментария, поэтому любой, кто слепо повторяет ввод данных, не будет запускать какие-либо реальные команды.

    Более современные оболочки (например, ksh, bash) продолжают это различие в $ и # хотя это менее важно, когда вы можете установить более сложные значения, такие как имя пользователя, имя хоста, каталог 🙂

    Традиция.

    Стандарт POSIX говорит (мой акцент):

    PS1

    Эта переменная используется для интерактивных подсказок. Исторически «суперпользователь» имел подсказку «#». Поскольку привилегии не должны быть монолитными, трудно определить, какие привилегии должны вызывать альтернативное приглашение. Однако достаточно мощный пользователь должен напомнить об этой мощности, попросив альтернативную подсказку.

    См. Также этот ответ практически на тот же вопрос на форуме SuperUser.

    Linux и Unix - лучшая ОС в мире.