Shell und Su Befehl

1626
Mulligan

Kann mir jemand bitte erklären warum?

su
echo $ 0

es sagt:

bash

wann

su -
echo $ 0

es sagt:

-su

? Habe ich Recht, dass im ersten Fall (nur su) die aktuelle Shell eine neue, nicht interaktive Shell erzeugt, während sie im zweiten Fall ( su -) nur bei der aktuellen Shell bleibt?

3

2 Antworten auf die Frage

2
Alex

Wenn Sie nur sudie Umgebung des Benutzers erben, der ausgeführt wird su. Im Gegensatz dazu, wenn Sie su -(es ist eine Abkürzung für die -loginOption su) verwendet wird, wechseln Sie "vollständig" zum root-Konto und richten die Umgebung auf dieselbe Weise ein, als würden Sie sich direkt bei root anmelden

1
Darren

Alex 'Antwort ist richtig, aber er hat nicht wirklich erklärt, was Sie sehen. Beim Ausführen su -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.