Wie ich weiß, ist root
die Standard-Shell konfiguriert csh
und die Standard-Shell des normalen Benutzers befindet sich sh
in FreeBSD. Und in Ubuntu root
ist dash
, normaler Benutzer ist bash
. (Siehe: /server/239535/whats-the-ubuntus-default-shell/239537#239537 )
Warum sind sie unterschiedlich konfiguriert?
Antworten:
Laut FAQ :
Im Fall von FreeBSD liegt der Grund darin, dass
csh
die einzige Shell "garantiert" im Basis-Dateisystem vorhanden ist (ports
normalerweise werden Inhalte gespeichert/usr/local/bin
, die standardmäßig ein anderes Dateisystem verwenden). Dies ist wichtig, da Sie nicht möchten, dass es eine Situation gibt, in der Sieroot
sich nicht anmelden können, weil eine Shell in einem anderen (nicht gemounteten) Dateisystem verwendet wird.quelle
/bin/sh
ist garantiert auch verfügbar. Hatcsh
aber bessere interaktive Funktionen und ist zu einer akzeptierten Tradition geworden. Andere BSDs folgen ihm nicht; Die Root-Shell von OpenBSD ist/bin/ksh
(ein pdksh-Derivat).ksh
alsroot
Shell auf meinem NetBSD VPS gewählt. Ich habe nur die "offizielle" Erklärung wiederholt. Ehrlich gesagt,csh
ist ein großer Grund, warum ich gerne in der Nähetoor
bin: Ich bevorzugebash
oderzsh
mich selbst.