Verwenden Sie tee -a
(oder tee --append
) mit sudo
tee - read from standard input and write to standard output and files
[...]
-a, --append
append to the given FILEs, do not overwrite
[...]
Ihr Befehl wird also zu
echo "something" | sudo tee -a /etc/config_file
Die Vorteile von tee
über die Ausführung von Bash mit Administratorrechten sind
- Sie führen Bash nicht mit Administratorrechten aus
- Nur der Teil „In Datei schreiben“ wird mit erweiterten Berechtigungen ausgeführt
- Das Zitieren eines komplexen Befehls ist viel einfacher
Die Umleitung wird in der aktuellen Shell ausgeführt. Um die Umleitung mit erhöhten Rechten durchzuführen, müssen Sie die Shell selbst mit erhöhten Rechten ausführen:
sudo bash -c "somecommand >> somefile"
Lassen Sie sudo eine Sub-Shell erzeugen:
sudo sh -c "echo 'JAVA_HOME=/usr/lib/jvm/java-6-sun' >> /etc/profile"
In diesem Beispiel führt sudo "sh" mit dem Rest als Argumente aus.
(Dies wird als Beispiel in der sudo-Manpage gezeigt)