Respostas:
Historicamente, o shell Bourne / bin / sh original usaria $
como o prompt normal e #
para o prompt do usuário root (e o csh usaria %
). Isso tornou muito fácil saber se você estava executando como superusuário ou não.
#
também é o caractere de comentário, portanto, qualquer pessoa que digitar cegamente os dados não executará nenhum comando real.
Os shells mais modernos (por exemplo, ksh, bash) continuam essa distinção $
e, #
embora seja menos importante quando você pode definir valores mais complicados, como nome de usuário, nome do host, diretório :-)
#
o caractere de comentário evita que alguém execute comandos reais se estiver reinserindo dados cegamente?
# reboot
- responda ... nada, porque #
é um comentário.
Tradição.
O padrão POSIX diz (minha ênfase):
PS1
Essa variável é usada para prompts interativos. Historicamente, o "superusuário" recebeu um prompt de '#'. Como os privilégios não precisam ser monolíticos, é difícil definir quais privilégios devem causar o prompt alternativo. No entanto, um usuário suficientemente poderoso deve ser lembrado desse poder por ter um prompt alternativo.
Veja também esta resposta para praticamente a mesma pergunta no fórum SuperUser.