Respuestas:
Históricamente, el shell Bourne / bin / sh original se usaría $
como la solicitud normal y #
para la solicitud del usuario raíz (y se usaría csh %
). Esto hizo que fuera bastante fácil saber si estabas corriendo como superusuario o no.
#
también es el carácter de comentario, por lo que cualquiera que vuelva a ingresar datos ciegamente no ejecutaría ningún comando real.
Los shells más modernos (por ejemplo, ksh, bash) continúan esta distinción de $
y #
aunque es menos importante cuando puede establecer valores más complicados como el nombre de usuario, el nombre de host, el directorio :-)
#
ser el personaje del comentario impide que alguien ejecute comandos reales si está volviendo a ingresar datos ciegamente?
# reboot
? Responda ... nada, porque #
es un comentario.
Tradicion.
El estándar POSIX dice (mi énfasis):
PS1
Esta variable se utiliza para solicitudes interactivas. Históricamente, el "superusuario" ha tenido un mensaje de '#'. Dado que no se requiere que los privilegios sean monolíticos, es difícil definir qué privilegios deberían causar la solicitud alternativa. Sin embargo, un usuario suficientemente poderoso debe recordar ese poder al tener un mensaje alternativo.
Vea también esta respuesta a prácticamente la misma pregunta en el foro SuperUser.