
Kann mir bitte jemand erklären, warum ich Folgendes ausgib:
su
echo $0
es sagt:
Schlag
Wann
su -
echo $0
es sagt:
-su
? Habe ich Recht, dass im 1. Fall (nur su
) die aktuelle Shell eine neue nicht interaktive Shell erzeugt, während sie im zweiten Fall ( su -
) einfach bei der aktuellen Shell bleibt?
Antwort1
Wenn Sie nur verwenden, su
übernehmen Sie die Umgebung des Benutzers, der ausgeführt wird su
. Wenn Sie dagegen verwenden su -
(es ist eine Abkürzung für -login
die Option von su
), wechselt es „vollständig“ zum Root-Konto und richtet die Umgebung auf die gleiche Weise ein, als ob Sie sich direkt bei Root anmelden würden.
Antwort2
Alex‘ Antwort ist richtig, aber er hat nicht wirklich erklärt, was Sie sehen. Wenn Sie su -
es ausführen, wird die Umgebung des Benutzers importiert, zu dem Sie wechseln (in diesem Fall root). Der letzte Befehl, den Sie als root ausgeführt haben, muss gewesen sein su
.