Wenn Sie Ihren Befehl ohne einfache Anführungszeichen ausdrücken, können Sie ihn in einfache Anführungszeichen setzen und über eine Zwischen-Shell ausführen.
Um dies als root auszuführen:
echo 'clock_hctosys="YES"' >> /etc/conf.d/hwclock
Schreiben Sie den Befehl auf eine andere Art und Weise, die nicht verwendet wird '
:
echo clock_hctosys=\"YES\" >> /etc/conf.d/hwclock
Dann rufen Sie auf sudo sh -c …
:
sudo sh -c 'echo clock_hctosys=\"YES\" >> /etc/conf.d/hwclock'
Um die Ausgabe in eine Datei zu schreiben, in die nur Root schreiben kann, rufen Sie auf sudo tee
. Übergeben Sie die -a
Option zum tee
Anhängen an die Zieldatei, andernfalls wird die Datei abgeschnitten.
echo 'clock_hctosys="YES"' | sudo tee -a /etc/conf.d/hwclock >/dev/null
Für komplexere Dateiänderungen, können Sie anrufen sudo sed
, sudo ed
, sudo perl
, ...
Verwenden Sie alternativ einen anständigen Editor und rufen Sie sudo auf. Öffnen Sie in Emacs /sudo:/etc/conf.d/hwclock
. Rufen Sie :w !sudo tee %
in Vim auf, um als root in die geöffnete Datei zu schreiben, oder verwenden Sie das Plugin sudo.vim . Oder geh vom sudo ende und ruf an sudoedit /etc/conf.d/hwclock
.
Oder Sie können sich der dunklen Seite hingeben und eine Shell als root ausführen.
$ sudo -i
# echo 'clock_hctosys="YES"' >> /etc/conf.d/hwclock
tee
Befehle als root ausgeführt werden und nicht der Hauptbefehl, der komplex und anfällig für Fehlverhalten sein kann. (nicht der Fall vonecho
)