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 :-)
Pouvez-vous donner un exemple de la façon dont #le caractère de commentaire empêche quelqu'un d'exécuter de vraies commandes s'il rentre aveuglément des données?
John Gowers
6
Que se passe-t-il si vous coupez et collez la ligne complète # reboot- répondez ... rien, car #c'est un commentaire.
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.
Pour ajouter, cela peut être trouvé sous Justification> C. Justification de Shell & Utilities> 2. Langage de commande Shell; Je devais juste y trouver une référence pour autre chose :)
forquare
1
@forquare Merci. J'ai ajouté un lien approprié maintenant.
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 :-)la source
#
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):
Voir aussi cette réponse à pratiquement la même question sur le forum SuperUser.
la source