Ответы:
Исторически исходная оболочка / bin / sh Bourne использовалась бы $
как обычная подсказка и #
как подсказка пользователя root (и csh использовала бы %
). Это позволило довольно легко определить, работаете ли вы как суперпользователь или нет.
#
также является символом комментария, поэтому любой, кто вслепую повторно вводит данные, не будет запускать какие-либо реальные команды.
Более современные оболочки (например, ksh, bash) продолжают это различие, $
и #
хотя это менее важно, когда вы можете установить более сложные значения, такие как имя пользователя, имя хоста, каталог :-)
#
символ комментария мешает кому-то выполнять настоящие команды, если они вводят данные вслепую?
# reboot
- ответьте ... ничего, потому что #
это комментарий.
Традиция.
Стандарт POSIX говорит (мой акцент):
PS1
Эта переменная используется для интерактивных подсказок. Исторически «суперпользователь» имел приглашение «#». Поскольку привилегии не обязательно должны быть монолитными, трудно определить, какие привилегии должны вызывать альтернативное приглашение. Тем не менее, достаточно мощный пользователь должен напомнить об этой возможности, имея альтернативную подсказку.
Смотрите также этот ответ практически на тот же вопрос на форуме SuperUser.