Ich habe mich mit meinem Benutzernamen ravbholua angemeldet :
[email protected]:~$ echo $LOGNAME
ravbholua
Ich erstelle eine Datei mit dem Namen a1 :
[email protected]:~$ echo>a1
[email protected]:~$ ll a1
-rw-rw-r-- 1 ravbholua ravbholua 1 Oct 8 09:57 a1
Wie erwartet hat mich die obige Datei (ravbholua ) als Besitzer.
Als nächstes erstelle ich a2 mit sudo mit echo Befehl:
[email protected]:~$ sudo echo>a2
[email protected]:~$ ll a2
-rw-rw-r-- 1 ravbholua ravbholua 1 Oct 8 09:57 a2
Der Besitzer bin nur ich, also ravbholua .
Jetzt erstelle ich a3 wieder mit sudo, aber mit vim Befehl:
[email protected]:~$ sudo vim a3
[email protected]:~$ ll a3
-rw-r--r-- 1 root root 10 Oct 8 09:57 a3
Oh! wieso wechselt jetzt der besitzer Nicht ich, sondern root.
Warum diese Variation mit echo und vim !
Es ist eine Überraschung, dass mit Befehlswechsel wie kann sich der Besitzer der erstellten Datei ändern.
Akzeptierte Antwort:
Das zweite Beispiel führt echo aus unter sudo , aber die Umleitung geschieht unter der ursprünglichen Shell.
sudo bash -c "echo > a4"