Réponses:
Historiquement, le shell Bourne d'origine / bin / sh utiliserait $
comme invite normale et #
pour l' invite de l'utilisateur root (et csh utiliserait %
). Cela rendait assez facile de dire si vous utilisiez ou non en tant que superutilisateur.
#
est également le caractère de commentaire, donc toute personne qui rentre aveuglément des données n'exécutera aucune commande réelle.
Les shells plus modernes (par exemple ksh, bash) continuent cette distinction $
et #
bien que ce soit moins important lorsque vous pouvez définir des valeurs plus compliquées telles que le nom d'utilisateur, le nom d'hôte, le répertoire :-)
#
le caractère de commentaire empêche quelqu'un d'exécuter de vraies commandes s'il rentre aveuglément des données?
# reboot
- répondez ... rien, car #
c'est un commentaire.
Tradition.
La norme POSIX dit (c'est moi qui souligne):
PS1
Cette variable est utilisée pour les invites interactives. Historiquement, le "superutilisateur" a eu une invite "#". Étant donné que les privilèges ne doivent pas nécessairement être monolithiques, il est difficile de définir les privilèges qui doivent provoquer l'invite alternative. Cependant, un utilisateur suffisamment puissant devrait être rappelé de ce pouvoir en ayant une invite alternative.
Voir aussi cette réponse à pratiquement la même question sur le forum SuperUser.